diff --git a/docs/guide-es/caching-data.md b/docs/guide-es/caching-data.md
index 5cb14a4..82b94fe 100644
--- a/docs/guide-es/caching-data.md
+++ b/docs/guide-es/caching-data.md
@@ -20,7 +20,7 @@ if ($data === false) {
 ```
 
 
-## Componentes de Caché <a name="cache-components"></a>
+## Componentes de Caché <span id="cache-components"></span>
 
 El almacenamiento de datos en caché depende de los llamados *cache components* (componentes de caché) los cuales
 representan diferentes tipos de almacenamiento en caché, como por ejemplo en memoria, en archivos o en base de datos.
@@ -66,7 +66,7 @@ el código que utiliza la caché. Por ejemplo, podrías modificar la configuraci
 > Nota: Puedes registrar múltiples componentes de aplicación de caché. El componente llamado `cache` es usado por defecto por muchas clases caché-dependiente (ej. [[yii\web\UrlManager]]).
 
 
-### Almacenamientos de Caché Soportados <a name="supported-cache-storage"></a>
+### Almacenamientos de Caché Soportados <span id="supported-cache-storage"></span>
 
 Yii proporciona varios componentes de caché que pueden almacenar datos en diferentes medios. A continuación
 se muestra un listado con los componentes de caché disponibles:
@@ -84,7 +84,7 @@ se muestra un listado con los componentes de caché disponibles:
 > Nota: Puedes utilizar diferentes tipos de almacenamiento de caché en la misma aplicación. Una estrategia común es la de usar almacenamiento de caché en memoria para almacenar datos que son pequeños pero que son utilizados constantemente (ej. datos estadísticos), y utilizar el almacenamiento de caché en archivos o en base de datos para guardar datos que son grandes y utilizados con menor frecuencia (ej. contenido de página).
 
 
-## API de Caché <a name="cache-apis"></a>
+## API de Caché <span id="cache-apis"></span>
 
 Todos los componentes de almacenamiento de caché provienen de la misma clase "padre" [[yii\caching\Cache]] y por lo tanto soportan la siguiente API:
 
@@ -111,7 +111,7 @@ $value2 = $cache['var2'];  // equivalente a: $value2 = $cache->get('var2');
 ```
 
 
-### Claves de Caché <a name="cache-keys"></a>
+### Claves de Caché <span id="cache-keys"></span>
 
 Cada elemento de datos almacenado en caché se identifica por una clave. Cuando se almacena un elemento de datos en la memoria caché, se debe especificar una clave. Más tarde, cuando se recupera el elemento de datos de la memoria caché, se debe proporcionar la clave correspondiente.
 
@@ -144,7 +144,7 @@ Cuando en un mismo almacenamiento en caché es utilizado por diferentes aplicaci
 Para garantizar la interoperabilidad, deberían utilizarse sólo caracteres alfanuméricos.
 
 
-### Caducidad de Caché <a name="cache-expiration"></a>
+### Caducidad de Caché <span id="cache-expiration"></span>
 
 Un elemento de datos almacenado en la memoria caché permanecerá en ella para siempre, a menos que sea removida de alguna manera debido a alguna directiva de caché (ej. el espacio de almacenamiento en caché está lleno y los datos más antiguos se eliminan). Para cambiar este comportamiento, podrías proporcionar un parámetro de caducidad al llamar [[yii\caching\Cache::set()|set()]] para guardar el elemento de datos. El parámetro nos indica por cuántos segundos el elemento se mantendrá válido en memoria caché. Cuando llames [[yii\caching\Cache::get()|get()]] para recuperar el elemento, si el tiempo de caducidad ha pasado, el método devolverá `false`, indicando que el elemento de datos no ha sido encontrado en la memoria caché. Por ejemplo,
 
@@ -161,7 +161,7 @@ if ($data === false) {
 ```
 
 
-### Dependencias de Caché <a name="cache-dependencies"></a>
+### Dependencias de Caché <span id="cache-dependencies"></span>
 
 Además de configurar el tiempo de expiración, los datos almacenados en caché pueden también ser invalidados conforme a algunos cambios en la caché de dependencias. Por ejemplo, [[yii\caching\FileDependency]] representa la dependencia del tiempo de modificación del archivo. Cuando esta dependencia cambia, significa que el archivo correspondiente ha cambiado. Como resultado, cualquier contenido anticuado que sea encontrado en la caché debería ser invalidado y la llamada a [[yii\caching\Cache::get()|get()]] debería retornar falso.
 
@@ -191,7 +191,7 @@ Aquí abajo se muestra un sumario de las dependencias disponibles:
   con el mismo nombre del grupo a la vez llamando a [[yii\caching\TagDependency::invalidate()]].
 
 
-## Consultas en Caché <a name="query-caching"></a>
+## Consultas en Caché <span id="query-caching"></span>
 
 Las consultas en caché es una característica especial de caché construido sobre el almacenamiento de caché de datos. Se
 proporciona para almacenar en caché el resultado de consultas a la base de datos.
@@ -213,7 +213,7 @@ El almacenamiento en caché de consultas se puede usar para [DAO](db-dao.md), as
 > Nota: Algunos DBMS (ej. [MySQL](http://dev.mysql.com/doc/refman/5.1/en/query-cache.html)) también soporta el almacenamiento en caché desde el mismo servidor de la BD. Puedes optar por utilizar cualquiera de los mecanismos de memoria caché. El almacenamiento en caché de consultas previamente descrito tiene la ventaja que de que se puede especificar dependencias de caché de una forma flexible y son potencialmente mucho más eficientes.
 
 
-### Configuraciones <a name="query-caching-configs"></a>
+### Configuraciones <span id="query-caching-configs"></span>
 
 Las consultas en caché tienen tres opciones configurables globales a través de [[yii\db\Connection]]:
 
@@ -224,7 +224,7 @@ Las consultas en caché tienen tres opciones configurables globales a través de
   Por defecto es `'cache'`. El almacenamiento en caché de consultas se habilita sólo si hay un componente de la aplicación de caché válida.
 
 
-### Usos <a name="query-caching-usages"></a>
+### Usos <span id="query-caching-usages"></span>
 
 Puedes usar [[yii\db\Connection::cache()]] si tienes multiples consultas SQL que necesitas a aprovechar el cacheo de consultas. El uso es de la siguiente manera,
 
@@ -287,7 +287,7 @@ $result = $db->cache(function ($db) {
 ```
 
 
-### Limitaciones <a name="query-caching-limitations"></a>
+### Limitaciones <span id="query-caching-limitations"></span>
 
 El almacenamiento en caché de consultas no funciona con los resultados de consulta que contienen controladores de recursos.
 Por ejemplo, cuando se utiliza el tipo de columna `BLOB` en algunos DBMS, el resultado de la consulta devolverá un recurso para manejar los datos de la columna.
diff --git a/docs/guide-es/caching-fragment.md b/docs/guide-es/caching-fragment.md
index 68bab36..3d8cd17 100644
--- a/docs/guide-es/caching-fragment.md
+++ b/docs/guide-es/caching-fragment.md
@@ -28,14 +28,14 @@ Como en la [caché de datos](caching-data.md), un `$id` (clave) único es necesa
 caché.
 
 
-## Opciones de Caché <a name="caching-options"></a>
+## Opciones de Caché <span id="caching-options"></span>
 
 Puedes especificar opciones adicionales para la caché de fragmentos pasando el array de opciones como segundo
 parametro del método [[yii\base\View::beginCache()|beginCache()]]. Entre bastidores, este array de opciones se utiliza
 para configurar el widget [[yii\widgets\FragmentCache]] que es en realidad el que implementa la funcionalidad de la caché
 de fragmentos.
 
-### Duración <a name="duration"></a>
+### Duración <span id="duration"></span>
 
 Quizás la opción más utilizada en la caché de fragmentos es [[yii\widgets\FragmentCache::duration|duración]]. Ésta
 especifica cuántos segundos el contenido puede permanecer como válido en la memoria caché. El siguiente código almacena
@@ -53,7 +53,7 @@ if ($this->beginCache($id, ['duration' => 3600])) {
 Si la opción no está activada, se tomará el valor por defecto 60, lo que significa que el contenido almacenado en caché expirará en 60 segundos.
 
 
-### Dependencias <a name="dependencies"></a>
+### Dependencias <span id="dependencies"></span>
 
 Como en la [caché de datos](caching-data.md#cache-dependencies), el fragmento de contenido que está siendo almacenado en caché
 también puede tener dependencias. Por ejemplo, el contenido de un artículo que se muestre depende de si el mensaje se
@@ -78,7 +78,7 @@ if ($this->beginCache($id, ['dependency' => $dependency])) {
 ```
 
 
-### Variaciones <a name="variations"></a>
+### Variaciones <span id="variations"></span>
 
 El contenido almacenado en caché puede variar de acuerdo a ciertos parámetros. Por ejemplo, para una aplicación Web que
 soporte multiples idiomas, la misma pieza del código de la vista puede generar el contenido almacenado en caché
@@ -99,7 +99,7 @@ if ($this->beginCache($id, ['variations' => [Yii::$app->language]])) {
 ```
 
 
-### Alternando el Almacenamiento en Caché <a name="toggling-caching"></a>
+### Alternando el Almacenamiento en Caché <span id="toggling-caching"></span>
 
 Puede que a veces quieras habilitar la caché de fragmentos únicamente cuando ciertas condiciones se cumplan. Por ejemplo,
 para una página que muestra un formulario, tal vez quieras guardarlo en la caché cuando es inicialmente solicitado (a
@@ -117,7 +117,7 @@ if ($this->beginCache($id, ['enabled' => Yii::$app->request->isGet])) {
 ```
 
 
-## Almacenamiento en Caché Anidada <a name="nested-caching"></a>
+## Almacenamiento en Caché Anidada <span id="nested-caching"></span>
 
 El almacenamiento en caché de fragmentos se puede anidar. Es decir, un fragmento de caché puede ser encerrado dentro de
 otro fragmento que también se almacena en caché. Por ejemplo, los comentarios se almacenan en una caché de fragmento
@@ -151,7 +151,7 @@ dependencias de las cachés anidadas, de lo contrario los fragmentos internos qu
 manteniendo en el fragmento externo.
 
 
-## Contenido Dinámico <a name="dynamic-content"></a>
+## Contenido Dinámico <span id="dynamic-content"></span>
 
 Cuando se usa la caché de fragmentos, podrías encontrarte en la situación que un fragmento grande de contenido es
 relavitamente estático excepto en uno u otro lugar. Por ejemplo, la cabeza de una página (header) puede que muestre el
diff --git a/docs/guide-es/caching-http.md b/docs/guide-es/caching-http.md
index 25f0486..391da78 100644
--- a/docs/guide-es/caching-http.md
+++ b/docs/guide-es/caching-http.md
@@ -15,7 +15,7 @@ consultas:
 * [[yii\filters\HttpCache::cacheControlHeader|Cache-Control]]
 
 
-## La Cabecera `Last-Modified` <a name="last-modified"></a>
+## La Cabecera `Last-Modified` <span id="last-modified"></span>
 
 La cabecera `Last-Modified` usa un sello de tiempo para indicar si la página ha sido modificada desde que el cliente la
 almacena en la caché.
@@ -59,7 +59,7 @@ regenerar la página, y el navegador usará la versión caché del lado del clie
 lado del servidor y la transmisión del contenido de la página son ambos omitidos.
 
 
-## La Cabecera `ETag` <a name="etag"></a>
+## La Cabecera `ETag` <span id="etag"></span>
 
 La cabecera "Entity Tag" (o para abreviar `ETag`) usa un hash para representar el contenido de una página. Si la página
 ha sido cambiada, el hash también cambiará. Al comparar el hash guardado en el lado del cliente con el hash generado en
@@ -113,7 +113,7 @@ expresión sencilla para invalidar la caché si la página ha sido modificada.
 > Nota: En cumplimiento con [RFC 7232](http://tools.ietf.org/html/rfc7232#section-2.4),
   `HttpCache` enviará ambas cabeceras `ETag` y `Last-Modified` si ambas están configuradas. Y si el clientes envía tanto la cabecera `If-None-Match` como la cabecera `If-Modified-Since`, solo la primera será respetada.
 
-## La Cabecera `Cache-Control` <a name="cache-control"></a>
+## La Cabecera `Cache-Control` <span id="cache-control"></span>
 
 La cabecera `Cache-Control` especifica la directiva general de la caché para páginas. Puedes enviarla configurando la
 propiedad [[yii\filters\HttpCache::cacheControlHeader]] con el valor de la cabecera. Por defecto, la siguiente cabecera
@@ -123,7 +123,7 @@ será enviada:
 Cache-Control: public, max-age=3600
 ```
 
-## Limitador de la Sesión de Caché <a name="session-cache-limiter"></a>
+## Limitador de la Sesión de Caché <span id="session-cache-limiter"></span>
 
 Cuando una página utiliza la sesión, PHP enviará automáticamente cabeceras HTTP relacionadas con la caché tal y como se
 especifican en `session.cache_limiter` de la configuración INI de PHP. Estas cabeceras pueden interferir o deshabilitar
@@ -134,7 +134,7 @@ automáticamente el envío de estas cabeceras. Si deseas modificar este comporta
 para una mejor explicación sobre esos valores.
 
 
-## Implicaciones SEO <a name="seo-implications"></a>
+## Implicaciones SEO <span id="seo-implications"></span>
 
 Los robots de motores de búsqueda tienden a respetar las cabeceras de caché. Dado que algunos `crawlers` tienen limitado
 el número de páginas que pueden rastrear por dominios dentro de un cierto período de tiempo, la introducción de cabeceras
diff --git a/docs/guide-es/concept-aliases.md b/docs/guide-es/concept-aliases.md
index 9fc81b9..ecaee1a 100644
--- a/docs/guide-es/concept-aliases.md
+++ b/docs/guide-es/concept-aliases.md
@@ -6,7 +6,7 @@ en tu código. Un alias debe comenzar con un cáracter `@` para que así pueda s
 Por ejemplo, el alias `@yii` representa la ruta de instalación de la librería Yii, mientras que `@web` representa la
 URL base la aplicación que actualmente se está ejecutando.
 
-Definiendo Alias <a name="defining-aliases"></a>
+Definiendo Alias <span id="defining-aliases"></span>
 ----------------
 
 Puedes llamar a [[Yii::setAlias()]] para definir un alias para una determinada ruta de archivo o URL. Por ejemplo,
@@ -48,7 +48,7 @@ return [
 ```
 
 
-Resolución de Alias <a name="resolving-aliases"></a>
+Resolución de Alias <span id="resolving-aliases"></span>
 -------------------
 
 Puedes llamar [[Yii::getAlias()]] para resolver un alias de raíz en la ruta o URL que representa. El mismo método puede
@@ -80,7 +80,7 @@ Yii::getAlias('@foo/bar/file.php');   // muestra: /path2/bar/file.php
 Si `@foo/bar` no está definido como un alias de raíz, la última declaración mostraría `/path/to/foo/bar/file.php`.
 
 
-Usando Alias <a name="using-aliases"></a>
+Usando Alias <span id="using-aliases"></span>
 ------------
 
 Los alias son utilizados en muchos lugares en Yii sin necesidad de llamar [[Yii::getAlias()]] para convertirlos en rutas/URLs.
@@ -98,7 +98,7 @@ $cache = new FileCache([
 Por favor, presta atención a la documentación API para ver si una propiedad o el parámetro de un método soporta alias.
 
 
-Alias Predefinidos <a name="predefined-aliases"></a>
+Alias Predefinidos <span id="predefined-aliases"></span>
 ------------------
 
 Yii predefine un conjunto de alias para aliviar la necesidad de hacer referencia a rutas de archivo o URLs que son
@@ -118,7 +118,7 @@ mientras que el resto de los alias están definidos en el constructor de la apli
 [configuración](concept-configurations.md) de la aplicación.
 
 
-Alias en Extensiones <a name="extension-aliases"></a>
+Alias en Extensiones <span id="extension-aliases"></span>
 --------------------
 
 Un alias se define automaticamente por cada [extensión](structure-extensions.md) que ha sido instalada a través de Composer.
diff --git a/docs/guide-es/concept-autoloading.md b/docs/guide-es/concept-autoloading.md
index e7e6575..900ad25 100644
--- a/docs/guide-es/concept-autoloading.md
+++ b/docs/guide-es/concept-autoloading.md
@@ -10,7 +10,7 @@ El cargador se instala cuando incluyes el archivo `Yii.php`.
   ten en cuenta que el contenido que describimos aquí también se aplica a la autocarga de interfaces y rasgos (Traits).
 
 
-Usando el Autocargador de Yii <a name="using-yii-autoloader"></a>
+Usando el Autocargador de Yii <span id="using-yii-autoloader"></span>
 -----------------------------
 
 Para utilizar el cargador automático de clases de Yii, deberías seguir dos reglas básicas cuando desarrolles y nombres tus
@@ -40,7 +40,7 @@ poner las clases `front-end` bajo el espacio de nombres `frontend` mientras que 
 `backend`. Esto permitirá que estas clases sean automaticamente cargadas por el autocargador de Yii.
 
 
-Mapa de Clases <a name="class-map"></a>
+Mapa de Clases <span id="class-map"></span>
 --------------
 
 El autocargador de clases de Yii soporta el *mapa de clases*, que mapea nombres de clases to sus correpondientes rutas de
@@ -59,7 +59,7 @@ clases en el proceso [bootstrapping](runtime-bootstrapping.md) de la aplicación
 antes de que tus clases sean usadas.
 
 
-Usando otros Autocargadores <a name="using-other-autoloaders"></a>
+Usando otros Autocargadores <span id="using-other-autoloaders"></span>
 ---------------------------
 
 Debido a que Yii incluye Composer como un gestor de dependencias y extensions, es recomendado que también instales el
@@ -85,7 +85,7 @@ ser autocargables.
   incluirlo en tu [script de entrada](structure-entry-scripts.md).
 
 
-Carga Automática de Clases de Extensiones <a name="autoloading-extension-classes"></a>
+Carga Automática de Clases de Extensiones <span id="autoloading-extension-classes"></span>
 -----------------------------------------
 
 El autocargador de Yii es capaz de autocargar clases de [extensiones](structure-extensions.md). El único requirimiento es
diff --git a/docs/guide-es/concept-behaviors.md b/docs/guide-es/concept-behaviors.md
index 5b11f8b..fbbbf16 100644
--- a/docs/guide-es/concept-behaviors.md
+++ b/docs/guide-es/concept-behaviors.md
@@ -10,7 +10,7 @@ comportamiento puede responder a [eventos](concept-events.md) disparados por el 
 o adaptar a la ejecución normal del código del componente.
 
 
-Definiendo comportamientos <a name="defining-behaviors"></a>
+Definiendo comportamientos <span id="defining-behaviors"></span>
 --------------------------
 
 Para definir un comportamiento, se debe crear una clase que exiende [[yii\base\Behavior]], o se extiende una clase hija. Por ejemplo:
@@ -95,7 +95,7 @@ function ($event) {
 ```
 
 
-Vinculando Comportamientos <a name="attaching-behaviors"></a>
+Vinculando Comportamientos <span id="attaching-behaviors"></span>
 --------------------------
 
 Puedes vincular un comportamiento a un [[yii\base\Component|componente]] ya sea estática o dinámicamente. La primera forma
@@ -189,7 +189,7 @@ También puedes asociar comportamientos a traves de [configuraciones](concept-co
 Para más detalles, por favor visita la sección [Configuraciones](concept-configurations.md#configuration-format).
 
 
-Usando comportamientos <a name="using-behaviors"></a>
+Usando comportamientos <span id="using-behaviors"></span>
 ----------------------
 
 Para poder utilizar un comportamiento, primero tienes que unirlo a un [[yii\base\Component|componente]] según las instrucciones anteriores. Una vez que un comportamiento ha sido vinculado a un componente, su uso es sencillo.
@@ -230,7 +230,7 @@ $behaviors = $component->getBehaviors();
 ```
 
 
-Desasociar Comportamientos <a name="detaching-behaviors"></a>
+Desasociar Comportamientos <span id="detaching-behaviors"></span>
 --------------------------
 
 Para desasociar un comportamiento, puedes llamar el método [[yii\base\Component::detachBehavior()]] con el nombre con el
@@ -247,7 +247,7 @@ $component->detachBehaviors();
 ```
 
 
-Utilizando `TimestampBehavior` <a name="using-timestamp-behavior"></a>
+Utilizando `TimestampBehavior` <span id="using-timestamp-behavior"></span>
 -----------------------------
 
 Para terminar, vamos a echar un vistazo a [[yii\behaviors\TimestampBehavior]]. Este comportamiento soporta de forma
@@ -306,7 +306,7 @@ $user->touch('login_time');
 ```
 
 
-Comparación con Traits <a name="comparison-with-traits"></a>
+Comparación con Traits <span id="comparison-with-traits"></span>
 ----------------------
 
 Mientras que los comportamientos son similares a [traits](http://www.php.net/traits) en cuanto que ambos "inyectan" sus
@@ -314,7 +314,7 @@ métodos  y propiedades a la clase primaria, son diferentes en muchos aspectos. 
 tienen sus ventajas y desventajas. Son más como complementos el uno al otro en lugar de alternativas.
 
 
-### Razones para utilizar comportamientos <a name="pros-for-behaviors"></a>
+### Razones para utilizar comportamientos <span id="pros-for-behaviors"></span>
 
 Las clases de comportamientos, como todas las clases, soportan herencias. Traits, por otro lado, pueden ser
 considerados como un copia-y-pega de PHP. Ellos no soportan la herencia de clases.
@@ -331,7 +331,7 @@ automáticamente resuelto respetando al que ha sido asociado primero.
 El conflicto de nombres en traits requiere que manualmente sean resueltos cambiando el nombre de las propiedades o métodos afectados.
 
 
-### Razones para utilizar los Traits <a name="pros-for-traits"></a>
+### Razones para utilizar los Traits <span id="pros-for-traits"></span>
 
 Los Traits son mucho más eficientes que los comportamientos debido a que los últimos son objetos que consumen tiempo y
 memoria.
diff --git a/docs/guide-es/concept-configurations.md b/docs/guide-es/concept-configurations.md
index fc33f70..a59447f 100644
--- a/docs/guide-es/concept-configurations.md
+++ b/docs/guide-es/concept-configurations.md
@@ -26,7 +26,7 @@ Yii::configure($object, $config);
 
 Tenga en cuenta que en este caso, la matriz de configuración no debe contener un elemento `class`.
 
-## Formato de Configuración <a name="configuration-format"></a>
+## Formato de Configuración <span id="configuration-format"></span>
 
 El formato de una configuración se puede describir formalmente como:
 
@@ -63,12 +63,12 @@ A continuación se muestra un ejemplo de una configuración con los valores de p
 ```
 
 
-## Usando Configuraciones <a name="using-configurations"></a>
+## Usando Configuraciones <span id="using-configurations"></span>
 
 Las configuraciones se utilizan en muchos lugares en Yii. Al comienzo de esta sección, hemos demostrado cómo crear un objeto según una configuración mediante el uso de [[Yii::CreateObject()]]. En este apartado, vamos a describir configuraciones de aplicaciones y configuraciones widget - dos principales usos de configuraciones.
 
 
-### Configuraciones de aplicación <a name="application-configurations"></a>
+### Configuraciones de aplicación <span id="application-configurations"></span>
 
 Configuración para una [aplicación](structure-applications.md) es probablemente una de las configuraciones más complejas. Esto se debe a que la clase [[yii\web\Application|aplicación]] tiene un montón de propiedades y eventos configurables. Más importante aún, su propiedad [[yii\web\Application::components|componentes]] que puede recibir una gran variedad de configuraciones para crear componentes que se registran a través de la aplicación. Lo siguiente es un resumen del archivo de configuración de la aplicación para la [plantilla básica de la aplicación](start-installation.md).
 
@@ -113,7 +113,7 @@ La configuración no tiene una clave `class`. Esto es porque se utiliza como sig
 Para más detalles sobre la configuración de la propiedad `components` de una aplicación se puede encontrar en la sección [Aplicación](structure-applications.md) y la sección [Localizador de Servicio](concept-service-locator.md).
 
 
-### Configuración Widget <a name="widget-configurations"></a>
+### Configuración Widget <span id="widget-configurations"></span>
 
 Cuando se utiliza [widgets](structure-widgets.md), a menudo es necesario utilizar las configuraciones para personalizar las propiedades de widgets. Tanto los metodos [[yii\base\Widget::widget()]] y [[yii\base\Widget::begin()]] pueden usarse para crear un widget. Toman un arreglo de configuración, como el siguiente,
 
@@ -135,7 +135,7 @@ El código anterior crea un widget `Menu` e inicializa su propiedad `activeItems
 Tenga en cuenta que debido a que el nombre de la clase ya está dado, la matriz de configuración no deben tener la clave `class`.
 
 
-## Archivos de Configuración <a name="configuration-files"></a>
+## Archivos de Configuración <span id="configuration-files"></span>
 
 Cuando una configuración es muy compleja, una práctica común es almacenarla en uno o múltiples archivos PHP, conocidos como *archivos de configuración*. Un archivo de configuración devuelve un array de PHP que representa la configuración. Por ejemplo, es posible mantener una configuración de la aplicación en un archivo llamado `web.php`, como el siguiente,
 
@@ -185,7 +185,7 @@ $config = require('path/to/web.php');
 ```
 
 
-## Configuraciones por Defecto <a name="default-configurations"></a>
+## Configuraciones por Defecto <span id="default-configurations"></span>
 
 El método [[Yii::createObject()]] es implementado en base a [contenedor de inyección de dependencia](concept-di-container.md). Le permite especificar un conjunto de los llamados *configuraciones predeterminadas* que se aplicarán a todos los casos de las clases especificadas cuando se crean utilizando [[Yii::createObject()]]. Las configuraciones por defecto se puede especificar llamando `Yii::$container->set()` en el código [bootstrapping](runtime-bootstrapping.md).
 
@@ -199,7 +199,7 @@ Por ejemplo, si desea personalizar [[yii\widgets\LinkPager]] para que TODO enlac
 
 Sin utilizar las configuraciones predeterminadas, usted tendría que configurar `maxButtonCount` en cada lugar en el que utiliza enlace paginador.
 
-## Constantes de Entorno <a name="environment-constants"></a>
+## Constantes de Entorno <span id="environment-constants"></span>
 
 Las configuraciones a menudo varían de acuerdo al entorno en que se ejecuta una aplicación. Por ejemplo, en el entorno de desarrollo, es posible que desee utilizar una base de datos llamada `mydb_dev`, mientras que en servidor de producción es posible que desee utilizar la base de datos `mydb_prod`. Para facilitar la conmutación de entornos, Yii proporciona una constante llamado `YII_ENV` que se puede definir en el [script de entrada](structure-entry-scripts.md) de su aplicación. Por ejemplo,
 
diff --git a/docs/guide-es/concept-di-container.md b/docs/guide-es/concept-di-container.md
index 5e643fb..80eea95 100644
--- a/docs/guide-es/concept-di-container.md
+++ b/docs/guide-es/concept-di-container.md
@@ -6,7 +6,7 @@ objetos dependientes. El [articulo de Martin](http://martinfowler.com/articles/i
 explicación de porque son útiles los contenedores de ID. A continuación explicaremos como usar el contenedor de ID que 
 proporciona Yii.
 
-Inyección de Dependencias <a name="dependency-injection"></a>
+Inyección de Dependencias <span id="dependency-injection"></span>
 -------------------------
 
 Yii proporciona la función de contenedor de ID mediante la clase [[yii\di\Container]]. Soporta los siguientes tipos 
@@ -16,7 +16,7 @@ de ID:
 * Inyección de setters y propiedades;
 * Inyección de [llamadas de retorno PHP](http://php.net/manual/es/language.types.callable.php);
 
-### Inyección de Constructores <a name="constructor-injection"></a>
+### Inyección de Constructores <span id="constructor-injection"></span>
 
 El contenedor de ID soporta inyección de constructores con la ayuda de los indicios (hint) de tipo para los parámetros del 
 constructor. Los indicios de tipo le proporcionan información al contenedor para saber cuáles son las clases o 
@@ -37,7 +37,7 @@ $bar = new Bar;
 $foo = new Foo($bar);
 ```
 
-### Inyección de Setters y Propiedades <a name="setter-and-property-injection"></a>
+### Inyección de Setters y Propiedades <span id="setter-and-property-injection"></span>
 
 La inyección de setters y propiedades se admite a través de [configuraciones](concept-configurations.md). Cuando se 
 registra una dependencia o se crea un nuevo objeto, se puede proporcionar una configuración que usará el contenedor 
@@ -69,7 +69,7 @@ $container->get('Foo', [], [
 ]);
 ```
 
-### Inyección de Llamadas de retorno PHP <a name="php-callable-injection"></a>
+### Inyección de Llamadas de retorno PHP <span id="php-callable-injection"></span>
 
 En este caso, el contenedor usará una llamada de retorno PHP registrada para construir una nueva instancia de una 
 clase. La llamada de retorno se responsabiliza de que dependencias debe inyectar al nuevo objeto creado. Por ejemplo,
@@ -82,7 +82,7 @@ $container->set('Foo', function () {
 $foo = $container->get('Foo');
 ```
 
-Registro de dependencias <a name="registering-dependencies"></a>
+Registro de dependencias <span id="registering-dependencies"></span>
 ------------------------
 
 Se puede usar [[yii\di\Container::set()]] para registrar dependencias. El registro requiere un nombre de dependencia 
@@ -150,7 +150,7 @@ $container->setSingleton('yii\db\Connection', [
 ]);
 ```
 
-Resolución de Dependencias <a name="resolving-dependencies"></a>
+Resolución de Dependencias <span id="resolving-dependencies"></span>
 --------------------------
 
 Una ves se hayan registrado las dependencias, se puede usar el contenedor de ID para crear nuevos objetos, y el 
@@ -238,7 +238,7 @@ $finder = new UserFinder($db);
 $lister = new UserLister($finder);
 ```
 
-Uso Practico <a name="practical-usage"></a>
+Uso Practico <span id="practical-usage"></span>
 ------------
 
 Yii crea un contenedor de ID cuando se incluye el archivo `Yii.php` en el 
@@ -300,7 +300,7 @@ instanciada. Esto se debe a que necesitamos indicar al contenedor de ID como tra
 Ahora si se accede al contenedor nuevamente, se creará una instancia de `app\components\BookingService` y se inyectará 
 a como tercer parámetro al constructor del controlador.
 
-Cuando Registrar Dependencias <a name="when-to-register-dependencies"></a>
+Cuando Registrar Dependencias <span id="when-to-register-dependencies"></span>
 -----------------------------
 
 El registro de dependencias debe hacerse lo antes posible debido a que las dependencias se necesitan cuando se crean 
@@ -311,7 +311,7 @@ nuevos objetos. A continuación se listan practicas recomendadas:
 * Siendo desarrolladores de una [extension](structure-extensions.md) redistribuible, podemos registrar dependencias en 
   la clase de boostraping de la extensión.
 
-Resumen <a name="summary"></a>
+Resumen <span id="summary"></span>
 -------
 
 Tanto la inyección de dependencias como el [localizador de servicios](concept-service-locator.md) son patrones de 
diff --git a/docs/guide-es/concept-events.md b/docs/guide-es/concept-events.md
index 4d22ffc..741cc5d 100644
--- a/docs/guide-es/concept-events.md
+++ b/docs/guide-es/concept-events.md
@@ -9,7 +9,7 @@ el correcto envío del mensaje, se puede, simplemente, añadir un código de seg
 Yii introduce una clase base [[yii\base\Component]] para soportar eventos. Si una clase necesita lanzar un evento,
 este debe extender a [[yii\base\Component]] o a una clase hija.
 
-Gestor de Eventos <a name="event-handlers"></a>
+Gestor de Eventos <span id="event-handlers"></span>
 -----------------
 
 Un gestor de eventos es una
@@ -40,7 +40,7 @@ Un gestor de eventos puede obtener la siguiente información acerca de un evento
   (se explicará más adelante)
 
 
-Añadir Gestores de Eventos <a name="attaching-event-handlers"></a>
+Añadir Gestores de Eventos <span id="attaching-event-handlers"></span>
 --------------------------
 
 Se puede añadir un gestor a un evento llamando al método [[yii\base\Component::on()]]. Por ejemplo:
@@ -104,7 +104,7 @@ $foo->on(Foo::EVENT_HELLO, function ($event) {
 }, $data, false);
 ```
 
-Lanzamiento de Eventos <a name="triggering-events"></a>
+Lanzamiento de Eventos <span id="triggering-events"></span>
 ----------------------
 
 Los eventos se lanzan llamando al método [[yii\base\Component::trigger()]]. El método requiere un *nombre de evento*,
@@ -169,7 +169,7 @@ class Mailer extends Component
 
 Cuando se lanza el método [[yii\base\Component::trigger()]], se ejecutarán todos los gestores adjuntos al evento.
 
-Desadjuntar Gestores de Evento <a name="detaching-event-handlers"></a>
+Desadjuntar Gestores de Evento <span id="detaching-event-handlers"></span>
 ------------------------------
 
 Para desadjuntar un gestor de un evento, se puede ejecutar el método [[yii\base\Component::off()]]. Por ejemplo:
@@ -199,7 +199,7 @@ parámetro:
 $foo->off(Foo::EVENT_HELLO);
 ```
 
-Nivel de Clase (Class-Level) Gestores de Eventos <a name="class-level-event-handlers"></a>
+Nivel de Clase (Class-Level) Gestores de Eventos <span id="class-level-event-handlers"></span>
 ------------------------------------------------
 
 En las subsecciones anteriores se ha descrito como adjuntar un gestor a un evento a *nivel de instancia*. A veces, se
@@ -260,7 +260,7 @@ Event::off(Foo::className(), Foo::EVENT_HELLO, $handler);
 Event::off(Foo::className(), Foo::EVENT_HELLO);
 ```
 
-Eventos Globales <a name="global-events"></a>
+Eventos Globales <span id="global-events"></span>
 ----------------
 
 Yii soporta los llamados *eventos globales*, que en realidad es un truco basado en el gestor de eventos descrito
diff --git a/docs/guide-es/db-dao.md b/docs/guide-es/db-dao.md
index cccb052..a4a5058 100644
--- a/docs/guide-es/db-dao.md
+++ b/docs/guide-es/db-dao.md
@@ -206,7 +206,7 @@ $connection->createCommand()->update('user', ['status' => 1], 'age > 30')->execu
 $connection->createCommand()->delete('user', 'status = 0')->execute();
 ```
 
-Entrecomillado de los Nombres de las Tablas y las Columnas <a name="quoting-table-and-column-names"></a>
+Entrecomillado de los Nombres de las Tablas y las Columnas <span id="quoting-table-and-column-names"></span>
 ----------------------------------------------------------
 
 Para hacer que los nombres de las columnas y las tablas sean seguros para usarse en las consultas, se puede utilizar Yii
diff --git a/docs/guide-es/helper-array.md b/docs/guide-es/helper-array.md
index 9437b88..0bfb01c 100644
--- a/docs/guide-es/helper-array.md
+++ b/docs/guide-es/helper-array.md
@@ -5,7 +5,7 @@ Adicionalmente al [rico conjunto de funciones para arrays de PHP](http://php.net
 métodos estáticos adicionales permitiendo trabajar con arrays de manera más eficiente.
 
 
-## Devolviendo Valores <a name="getting-values"></a>
+## Devolviendo Valores <span id="getting-values"></span>
 
 Recuperar valores de un array, un objeto o una estructura compleja usando PHP estándar es bastante
 repetitivo. Tienes que comprobar primero si una clave existe con `isset`, después devolver el valor si existe, si no,
@@ -64,7 +64,7 @@ Después de ejecutar el código el `$array` contendrá `['options' => [1, 2]]` y
 `getValue`, `remove` solo soporta nombres clave simples.
 
 
-## Comprobando la Existencia de Claves <a name="checking-existence-of-keys"></a>
+## Comprobando la Existencia de Claves <span id="checking-existence-of-keys"></span>
 
 `ArrayHelper::keyExists` funciona de la misma manera que [array_key_exists](http://php.net/manual/es/function.array-key-exists.php)
 excepto que también soporta case-insensitive para la comparación de claves. Por ejemplo,
@@ -83,7 +83,7 @@ if (!ArrayHelper::keyExists('username', $data1, false) || !ArrayHelper::keyExist
 }
 ```
 
-## Recuperando Columnas <a name="retrieving-columns"></a>
+## Recuperando Columnas <span id="retrieving-columns"></span>
 
 A menudo necesitas obtener unos valores de una columna de las filas de datos u objetos de un array. Un ejemplo común es obtener una lista de IDs.
 
@@ -107,7 +107,7 @@ $result = ArrayHelper::getColumn($array, function ($element) {
 ```
 
 
-## Re-indexar Arrays <a name="reindexing-arrays"></a>
+## Re-indexar Arrays <span id="reindexing-arrays"></span>
 
 Con el fin de indexar un array según una clave especificada, se puede usar el método `index`. La entrada del array debe ser
 multidimensional o un array de objetos. La clave puede ser un nombre clave del sub-array, un nombre de una propiedad del objeto, o
@@ -134,7 +134,7 @@ $result = ArrayHelper::index($array, function ($element) {
 ```
 
 
-## Construyendo Mapas (Maps) <a name="building-maps"></a>
+## Construyendo Mapas (Maps) <span id="building-maps"></span>
 
 Con el fin de construir un mapa (pareja clave-valor) de un array multidimensional o un array de objetos puedes usar el método `map`.
 Los parámetros `$from` y `$to`  especifican los nombres de las claves o los nombres de las propiedades que serán configuradas en el mapa. Opcionalmente, se puede
@@ -169,7 +169,7 @@ $result = ArrayHelper::map($array, 'id', 'name', 'class');
 ```
 
 
-## Ordenamiento Multidimensional <a name="multidimensional-sorting"></a>
+## Ordenamiento Multidimensional <span id="multidimensional-sorting"></span>
 
 El método `multisort` ayuda a ordenar un array de objetos o arrays anidados por una o varias claves. Por ejemplo,
 
@@ -209,7 +209,7 @@ El último argumento es un PHP sort flag que toma los mismos valores que los pas
 PHP [sort()](http://php.net/manual/es/function.sort.php).
 
 
-## Detectando Tipos de Array <a name="detecting-array-types"></a>
+## Detectando Tipos de Array <span id="detecting-array-types"></span>
 
 Es muy útil saber si un array es indexado o asociativo. He aquí un ejemplo:
 
@@ -224,7 +224,7 @@ echo ArrayHelper::isAssociative($associative);
 ```
 
 
-## Codificación y Decodificación de Valores HTML <a name="html-encoding-values"></a>
+## Codificación y Decodificación de Valores HTML <span id="html-encoding-values"></span>
 
 Con el fin de codificar o decodificar caracteres especiales en un array de strings con entidades HTML puedes usar lo siguiente:
 
@@ -237,7 +237,7 @@ Solo los valores se codifican por defecto. Pasando como segundo argumento `false
 La codificación utilizará el charset de la aplicación y podría ser cambiado pasandole un tercer argumento.
 
 
-## Fusionando Arrays <a name="merging-arrays"></a>
+## Fusionando Arrays <span id="merging-arrays"></span>
 
 ```php
   /**
@@ -257,7 +257,7 @@ La codificación utilizará el charset de la aplicación y podría ser cambiado 
 ```
 
 
-## Convirtiendo Objetos a Arrays <a name="converting-objects-to-arrays"></a>
+## Convirtiendo Objetos a Arrays <span id="converting-objects-to-arrays"></span>
 
 A menudo necesitas convertir un objeto o un array de objetos a un array. El caso más común es convertir los modelos de
 active record con el fin de servir los arrays de datos vía API REST o utilizarlos de otra manera. El siguiente código
diff --git a/docs/guide-es/helper-html.md b/docs/guide-es/helper-html.md
index 7371096..e2cf2bb 100644
--- a/docs/guide-es/helper-html.md
+++ b/docs/guide-es/helper-html.md
@@ -10,14 +10,14 @@ que proporciona un conjunto de métodos estáticos para gestionar las etiquetas 
 > Nota: Si el marcado es casi estático, es preferible usar HTML directamente. No es necesario encapsularlo todo con
 llamadas a la clase auxiliar Html.
 
-## Lo fundamental <a name="basics"></a>
+## Lo fundamental <span id="basics"></span>
 
 
 Teniendo en cuenta que la construcción de HTML dinámico mediante la concatenación de cadenas de texto se complica
 rápidamente, Yii proporciona un conjunto de métodos para manipular las opciones de etiquetas y la construcción de las
 mismas basadas en estas opciones.
 
-### Generación de etiquetas <a name="generating-tags"></a>
+### Generación de etiquetas <span id="generating-tags"></span>
 
 El código de generación de etiquetas es similar al siguiente:
 
@@ -53,7 +53,7 @@ gestión adicional que se debe conocer:
   `'data' => ['params' => ['id' => 1, 'name' => 'yii'], 'status' => 'ok']` se convierte en
   `data-params='{"id":1,"name":"yii"}' data-status="ok"`.
 
-### Formación de clases y estilos dinámicamente <a name="forming-css"></a>
+### Formación de clases y estilos dinámicamente <span id="forming-css"></span>
 
 Cuando se construyen opciones para etiquetas HTML, a menudo nos encontramos con valores predeterminados que hay que
 modificar. Para añadir o eliminar clases CSS se puede usar el siguiente ejemplo:
@@ -92,7 +92,7 @@ corresponde a nombres y valores de la propiedad CSS correspondiente o a una cade
 [[yii\helpers\Html::removeCssStyle()|removeCssStyle()]] acepta un array de propiedades que se eliminarán. Si sólo se
 eliminara una propiedad, se puede especificar como una cadena de texto.
 
-## Codificación y Decodificación del contenido <a name="encoding-and-decoding-content"></a>
+## Codificación y Decodificación del contenido <span id="encoding-and-decoding-content"></span>
 
 
 Para que el contenido se muestre correctamente y de forma segura con caracteres especiales HTML el contenido debe ser
@@ -109,7 +109,7 @@ echo $userName;
 $decodedUserName = Html::decode($userName);
 ```
 
-## Formularios <a name="forms"></a>
+## Formularios <span id="forms"></span>
 
 
 El trato con el marcado de formularios es una tarea repetitiva y propensa a errores. Por esto hay un grupo de métodos
@@ -118,7 +118,7 @@ para ayudar a gestionarlos.
 > Nota: hay que considerar la opción de usar [[yii\widgets\ActiveForm|ActiveForm]] en caso de que se gestionen
 formularios que requieran validaciones.
 
-### Creando formularios <a name="creating-forms"></a>
+### Creando formularios <span id="creating-forms"></span>
 
 Se puede abrir un formulario con el método [[yii\helpers\Html::beginForm()|beginForm()]] como se muestra a
 continuación:
@@ -139,7 +139,7 @@ El cierre de la etiqueta `form` es simple:
 <?= Html::endForm() ?>
 ```
 
-### Botones <a name="buttons"></a>
+### Botones <span id="buttons"></span>
 
 Para generar botones se puede usar el siguiente código:
 
@@ -153,7 +153,7 @@ El primer argumento para los tres métodos es el título del botón y el segundo
 codificado pero si se usan datos recibidos por el usuario, deben codificarse mediante
 [[yii\helpers\Html::encode()|Html::encode()]].
 
-### Inputs <a name="input-fields"></a>
+### Inputs <span id="input-fields"></span>
 
 Hay dos grupos en los métodos input. Unos empiezan con `active` y se llaman inputs activos y los otros no empiezan
 así. Los inputs activos obtienen datos del modelo y del atributo especificado y los datos de los inputs normales se
@@ -217,7 +217,7 @@ Si no, se puede usar la lista de opciones (radio list):
 <?= Html::activeRadioList($user, 'role', ArrayHelper::map($roleModels, 'id', 'name')) ?>
 ```
 
-### Etiquetas y Errores <a name="labels-and-errors"></a>
+### Etiquetas y Errores <span id="labels-and-errors"></span>
 
 De forma parecida que en los inputs hay dos métodos para generar etiquetas. El activo que obtiene los datos del modelo y
 el no-activo que acepta los datos directamente:
@@ -239,7 +239,7 @@ Para mostrar un error individual:
 <?= Html::error($post, 'title', ['class' => 'error']) ?>
 ```
 
-### Input Names y Values <a name="input-names-and-values"></a>
+### Input Names y Values <span id="input-names-and-values"></span>
 
 Existen métodos para obtener names, IDs y values para los campos de entrada (inputs) basados en el modelo. Estos se
 usan principalmente internamente pero a veces pueden resultar prácticos:
@@ -274,7 +274,7 @@ Para obtener el nombre de atributo sin sufijos o prefijos se puede usar el sigui
 echo Html::getAttributeName('dates[0]');
 ```
 
-## Estilos y scripts <a name="styles-and-scripts"></a>
+## Estilos y scripts <span id="styles-and-scripts"></span>
 
 
 Existen dos métodos para generar etiquetas que envuelvan estilos y scripts incrustados (embebbed):
@@ -323,7 +323,7 @@ Es igual que con las CSS, el primer argumento especifica el enlace al fichero qu
 pueden pasar como segundo argumento. En las opciones se puede especificar `condition` del mismo modo que se puede usar
 para `cssFile`.
 
-## Enlaces <a name="hyperlinks"></a>
+## Enlaces <span id="hyperlinks"></span>
 
 
 Existe un método para generar hipervínculos a conveniencia:
@@ -343,7 +343,7 @@ Si se requiere generar enlaces de tipo `mailto` se puede usar el siguiente códi
 <?= Html::mailto('Contact us', 'admin@example.com') ?>
 ```
 
-## Imagenes <a name="images"></a>
+## Imagenes <span id="images"></span>
 
 
 Para generar una etiqueta de tipo imagen se puede usar el siguiente ejemplo:
@@ -359,7 +359,7 @@ genera
 Aparte de los [alias](concept-aliases.md) el primer argumento puede aceptar rutas, parámetros y URLs. Del mismo modo
 que [Url::to()](helper-url.md).
 
-## Listas <a name="lists"></a>
+## Listas <span id="lists"></span>
 
 
 Las listas desordenadas se puede generar como se muestra a continuación:
diff --git a/docs/guide-es/helper-overview.md b/docs/guide-es/helper-overview.md
index f4b4605..3bf4354 100644
--- a/docs/guide-es/helper-overview.md
+++ b/docs/guide-es/helper-overview.md
@@ -40,7 +40,7 @@ Las siguientes clases helper del núcleo son proporcionadas en los releases de Y
 - VarDumper
 
 
-Personalizando Las Clases Helper <a name="customizing-helper-classes"></a>
+Personalizando Las Clases Helper <span id="customizing-helper-classes"></span>
 --------------------------------
 
 Para personalizar una clase helper del núcleo (ej. [[yii\helpers\ArrayHelper]]), deberías crear una nueva clase extendiendo
diff --git a/docs/guide-es/rest-authentication.md b/docs/guide-es/rest-authentication.md
index ce046ff..d97036e 100644
--- a/docs/guide-es/rest-authentication.md
+++ b/docs/guide-es/rest-authentication.md
@@ -111,7 +111,7 @@ y entonces ejecutar la acción. La identidad del usuario autenticado puede ser r
 Si la autenticación falla, una respuesta con estado HTTP 401 será devuelta junto con otras cabeceras apropiadas (tal como la cabecera para autenticación básica HTTP `WWW-Authenticate`).
 
 
-## Autorización <a name="authorization"></a>
+## Autorización <span id="authorization"></span>
 
 Después de que un usuario se ha autenticado, probablementer querrás comprobar si él o ella tiene los permisos para realizar
 la acción solicitada. Este proceso es llamado *autorización (authorization)* y está cubierto en detalle en la [Sección de Autorización](security-authorization.md).
diff --git a/docs/guide-es/rest-controllers.md b/docs/guide-es/rest-controllers.md
index b16c9f8..1177cda 100644
--- a/docs/guide-es/rest-controllers.md
+++ b/docs/guide-es/rest-controllers.md
@@ -25,7 +25,7 @@ algunas de las cuales se describen en detalle en las siguientes secciones:
 * La autorización del usuario de acuerdo a la acción y recurso solicitado.
 
 
-## Creando Clases de Controlador <a name="creating-controller"></a>
+## Creando Clases de Controlador <span id="creating-controller"></span>
 
 Al crear una nueva clase de controlador, una convención para nombrar la clase del controlador es utilizar
 el nombre del tipo de recurso en singular. Por ejemplo, para servir información de usuario,
@@ -45,7 +45,7 @@ public function actionView($id)
 ```
 
 
-## Filtros <a name="filters"></a>
+## Filtros <span id="filters"></span>
 
 La mayoría de las características API REST son proporcionadas por [[yii\rest\Controller]] son implementadas en los términos de [filtros](structure-filters.md).
 En particular, los siguientes filtros se ejecutarán en el orden en que aparecen:
@@ -76,14 +76,14 @@ public function behaviors()
 ```
 
 
-## Extendiendo `ActiveController` <a name="extending-active-controller"></a>
+## Extendiendo `ActiveController` <span id="extending-active-controller"></span>
 
 Si tu clase controlador extiende de [[yii\rest\ActiveController]], debe establecer
 su propiedad [[yii\rest\ActiveController::modelClass||modelClass]] con el nombre de la clase del recurso
 que planeas servir a través de este controlador. La clase debe extender de [[yii\db\ActiveRecord]].
 
 
-### Personalizando Acciones <a name="customizing-actions"></a>
+### Personalizando Acciones <span id="customizing-actions"></span>
 
 Por defecto, [[yii\rest\ActiveController]] provee de las siguientes acciones:
 
@@ -120,7 +120,7 @@ public function prepareDataProvider()
 Por favor, consulta las referencias de clases de acciones individuales para aprender las opciones de configuración disponibles para cada una.
 
 
-### Realizando Comprobación de Acceso <a name="performing-access-check"></a>
+### Realizando Comprobación de Acceso <span id="performing-access-check"></span>
 
 Al exponer los recursos a través de RESTful APIs, a menudo es necesario comprobar si el usuario actual tiene permiso
 para acceder y manipular el/los recurso solicitado/s. Con [[yii\rest\ActiveController]], esto puede lograrse
diff --git a/docs/guide-es/rest-error-handling.md b/docs/guide-es/rest-error-handling.md
index a8b1dda..092a6ab 100644
--- a/docs/guide-es/rest-error-handling.md
+++ b/docs/guide-es/rest-error-handling.md
@@ -40,7 +40,7 @@ La siguiente lista sumariza los códigos de estado HTTP que son usados por el fr
 * `500`: Error interno del servidor. Esto puede estar causado por errores internos del programa.
 
 
-## Personalizando la Respuesta al Error <a name="customizing-error-response"></a>
+## Personalizando la Respuesta al Error <span id="customizing-error-response"></span>
 
 A veces puedes querer personalizar el formato de la respuesta del error por defecto . Por ejemplo, en lugar de depender
 del uso de diferentes estados HTTP para indicar los diferentes errores, puedes querer usar siempre el estado HTTP 200
diff --git a/docs/guide-es/rest-quick-start.md b/docs/guide-es/rest-quick-start.md
index c4f385c..836292f 100644
--- a/docs/guide-es/rest-quick-start.md
+++ b/docs/guide-es/rest-quick-start.md
@@ -23,7 +23,7 @@ Supongamos que deseas exponer los datos de los usuarios vía APIs RESTful. Los d
 y ya tienes creado la clase [[yii\db\ActiveRecord|ActiveRecord]] `app\models\User` para acceder a los datos del usuario.
 
 
-## Creando un controlador <a name="creating-controller"></a>
+## Creando un controlador <span id="creating-controller"></span>
 
 Primero, crea una clase controladora `app\controllers\UserController` como la siguiente,
 
@@ -42,7 +42,7 @@ La clase controladora extiende de [[yii\rest\ActiveController]]. Especificado po
 como `app\models\User`, el controlador sabe que modelo puede ser usado para recoger y manipular sus datos.
 
 
-## Configurando las reglas de las URL <a name="configuring-url-rules"></a>
+## Configurando las reglas de las URL <span id="configuring-url-rules"></span>
 
 A continuación, modifica la configuración del componente `urlManager` en la configuración de tu aplicación:
 
@@ -61,7 +61,7 @@ La configuración anterior principalmente añade una regla URL para el controlad
 que los datos de user pueden ser accedidos y manipulados con URLs amigables y verbos HTTP significativos.
 
 
-## Habilitando entradas JSON <a name="enabling-json-input"></a>
+## Habilitando entradas JSON <span id="enabling-json-input"></span>
 
 Para permitir que la API acepte datos de entrada con formato JSON, configura la propiedad [[yii\web\Request::$parsers|parsers]]
 del componente de aplicación `request` para usar [[yii\web\JsonParser]] para entradas JSON:
@@ -78,7 +78,7 @@ del componente de aplicación `request` para usar [[yii\web\JsonParser]] para en
   `application/x-www-form-urlencoded` y `multipart/form-data` como formatos de entrada.
 
 
-## Probándolo <a name="trying-it-out"></a>
+## Probándolo <span id="trying-it-out"></span>
 
 Con la mínima cantidad de esfuerzo, tienes ya finalizado tu tarea de crear las APIs RESTful
 para acceder a los datos de user. Las APIs que tienes creado incluyen:
@@ -188,7 +188,7 @@ Por ejemplo, la URL `http://localhost/users?fields=id,email` sólo devolverá lo
 > Puedes y deberías filtrar estos campos como se describe en la sección [Response Formatting](rest-response-formatting.md).
 
 
-## Resumen <a name="summary"></a>
+## Resumen <span id="summary"></span>
 
 Utilizando el framework Yii API RESTful, implementa un punto final API en términos de una acción de un controlador, y utiliza
 un controlador para organizar las acciones que implementan los puntos finales para un sólo tipo de recurso.
diff --git a/docs/guide-es/rest-resources.md b/docs/guide-es/rest-resources.md
index a0785ce..066a1b2 100644
--- a/docs/guide-es/rest-resources.md
+++ b/docs/guide-es/rest-resources.md
@@ -12,7 +12,7 @@ Mientras que no hay restricción a cómo representar un recurso, en YII usualmen
 En esta sección, vamos principalmente a describir como la clase con recursos que extiende de [[yii\base\Model]] (o sus clases hijas) puede especificar qué datos puede ser devueltos vía las APIs RESTful. Si la clase de los recursos no extiende de [[yii\base\Model]], entonces todas las variables públicas miembro serán devueltas.
 
 
-## Campos (fields) <a name="fields"></a>
+## Campos (fields) <span id="fields"></span>
 
 Cuando incluimos un recurso en una respuesta de la API RESTful, el recurso necesita ser serializado en una cadena.
 Yii divide este proceso en dos pasos. Primero, el recurso es convertido en un array por [[yii\rest\Serializer]].
@@ -37,7 +37,7 @@ http://localhost/users?fields=id,email&expand=profile
 ```
 
 
-### Sobreescribiendo `fields()` <a name="overriding-fields"></a>
+### Sobreescribiendo `fields()` <span id="overriding-fields"></span>
 
 Por defecto, [[yii\base\Model::fields()]] devuelve todos los atributos de los modelos como si fueran campos, mientras [[yii\db\ActiveRecord::fields()]] sólo devuelve los atributos que tengan datos en la base de datos.
 
@@ -79,7 +79,7 @@ public function fields()
 > quitar `auth_key`, `password_hash` y `password_reset_token`.
 
 
-### Sobreescribiendo `extraFields()` <a name="overriding-extra-fields"></a>
+### Sobreescribiendo `extraFields()` <span id="overriding-extra-fields"></span>
 
 Por defecto, [[yii\base\Model::extraFields()]] no devuelve nada, mientras que [[yii\db\ActiveRecord::extraFields()]] devuelve los nombres de las relaciones que tienen datos (populated) obtenidos de la base de datos.
 
@@ -114,7 +114,7 @@ la petición `http://localhost/users?fields=id,email&expand=profile` puede devol
 ```
 
 
-## Enlaces (Links) <a name="links"></a>
+## Enlaces (Links) <span id="links"></span>
 
 [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS), es una abreviación de Hipermedia es el Motor del Estado de la Aplicación (Hypermedia as the Engine of Application State), promueve que las APIs RESTfull devuelvan información que permita a los clientes descubrir las acciones que soportan los recursos devueltos. El sentido de HATEOAS es devolver un conjunto de hiperenlaces con relación a la información, cuando los datos de los recursos son servidos por las APIs.
 
@@ -152,7 +152,7 @@ Cuando un objeto `User` es devuelto en una respuesta, puede contener un elemento
 ```
 
 
-## Colecciones <a name="collections"></a>
+## Colecciones <span id="collections"></span>
 
 Los objetos de los recursos pueden ser agrupados en  *collections*. Cada colección contiene una lista de recursos objeto del mismo tipo.
 
diff --git a/docs/guide-es/rest-response-formatting.md b/docs/guide-es/rest-response-formatting.md
index f60db36..4eff61f 100644
--- a/docs/guide-es/rest-response-formatting.md
+++ b/docs/guide-es/rest-response-formatting.md
@@ -13,7 +13,7 @@ con el formato de la respuesta:
    componente de la aplicación [[yii\web\Response::formatters|response]].
 
 
-## Negociación de contenido (Content Negotiation) <a name="content-negotiation"></a>
+## Negociación de contenido (Content Negotiation) <span id="content-negotiation"></span>
 
 Yii soporta la negociación de contenido a través del filtro [[yii\filters\ContentNegotiator]]. La clase de controlador base
 del API RESTful [[yii\rest\Controller]] está equipada con este filtro bajo el nombre `contentNegotiator`.
@@ -81,7 +81,7 @@ Las claves de la propiedad `formats` son los tipos MIME soportados, mientras que
 los cuales deben ser soportados en [[yii\web\Response::formatters]].
 
 
-## Serialización de Datos <a name="data-serializing"></a>
+## Serialización de Datos <span id="data-serializing"></span>
 
 Como hemos descrito antes, [[yii\rest\Serializer]] es la pieza central responsable de convertir
 objetos recurso o colecciones en arrays. Reconoce objetos tanto implementando [[yii\base\ArrayableInterface]]
diff --git a/docs/guide-es/runtime-handling-errors.md b/docs/guide-es/runtime-handling-errors.md
index 7e8d8ca..e7cfb15 100644
--- a/docs/guide-es/runtime-handling-errors.md
+++ b/docs/guide-es/runtime-handling-errors.md
@@ -15,7 +15,7 @@ El [[yii\web\ErrorHandler|error handler]] esta habilitado de forma predeterminad
 constante `YII_ENABLE_ERROR_HANDLER` con valor false en el
 [script de entrada (entry script)](structure-entry-scripts.md) de la aplicación.
 
-## Uso del Gestor de Errores <a name="using-error-handler"></a>
+## Uso del Gestor de Errores <span id="using-error-handler"></span>
 
 El [[yii\web\ErrorHandler|error handler]] se registra como un
 [componente de aplicación](structure-application-components.md) llamado `errorHandler`. Se puede configurar en la
@@ -61,7 +61,7 @@ use yii\web\NotFoundHttpException;
 throw new NotFoundHttpException();
 ```
 
-## Personalizar la Visualización de Errores <a name="customizing-error-display"></a>
+## Personalizar la Visualización de Errores <span id="customizing-error-display"></span>
 
 El [[yii\web\ErrorHandler|error handler]] ajusta la visualización del error conforme al valor de la constante
 `YII_DEBUG`. Cuando `YII_DEBUG` es `true` (es decir, en modo depuración (debug)), el gestor de errores mostrara las
@@ -85,7 +85,7 @@ Se pueden configurar las propiedades [[yii\web\ErrorHandler::errorView|errorView
 [[yii\web\ErrorHandler::exceptionView|exceptionView]] el gestor de errores para usar nuestros propias vistas para
 personalizar la visualización de los errores.
 
-### Uso de Acciones de Error <a name="using-error-actions"></a>
+### Uso de Acciones de Error <span id="using-error-actions"></span>
 
 Una mejor manera de personalizar la visualización de errores es usar un [acción](structure-controllers.md) de error
 dedicada. Para hacerlo, primero se debe configurar la propiedad [[yii\web\ErrorHandler::errorAction|errorAction]] del
@@ -153,7 +153,7 @@ a las siguientes variables si se define el error como un [[yii\web\ErrorAction]]
 > Información: Tanto la [plantilla de aplicación básica](start-installation.md) como la
   [plantilla de aplicación avanzada](tutorial-advanced-app.md), ya incorporan la acción de error y la vista de error.
 
-### Personalizar el Formato de Respuesta de Error <a name="error-format"></a>
+### Personalizar el Formato de Respuesta de Error <span id="error-format"></span>
 
 El gestor de errores muestra los errores de siguiente la configuración del formato de las
 [respuestas](runtime-responses.md). Si el [[yii\web\Response::format response format]] es `html`, se usará la vista de
diff --git a/docs/guide-es/runtime-logging.md b/docs/guide-es/runtime-logging.md
index 3d148f7..505caf0 100644
--- a/docs/guide-es/runtime-logging.md
+++ b/docs/guide-es/runtime-logging.md
@@ -16,7 +16,7 @@ Usar el framework de registro de anotaciones de Yii involucra los siguientes pas
 
 En esta sección, se describirán principalmente los dos primeros pasos.
 
-## Anotación de Messages <a name="log-messages"></a>
+## Anotación de Messages <span id="log-messages"></span>
 
 Registrar mensajes de anotación es tan simple como llamar a uno de los siguientes métodos de registro de anotaciones.
 
@@ -60,7 +60,7 @@ linea anterior de código se llamara dentro de este método.
   finalizado, el objeto de registro llamará [[yii\log\Dispatcher|message dispatcher]] para enviar los mensajes de
   registro registrados a los [destiinos de registros](#log-targets).
 
-## Destino de Registros <a name="log-targets"></a>
+## Destino de Registros <span id="log-targets"></span>
 
 Un destino de registro es una instancia de la clase [[yii\log\Target]] o de una clase hija. Este filtra los
 mensajes de registro por sus niveles de severidad y sus categorías y después los exporta a algún medio. Por ejemplo,
@@ -120,7 +120,7 @@ información de configuración y uso.
 
 A continuación, se describirá las características más comunes de todos los destinos de registros.
 
-### Filtrado de Mensajes <a name="message-filtering"></a>
+### Filtrado de Mensajes <span id="message-filtering"></span>
 
 Se pueden configurar las propiedades [[yii\log\Target::levels|levels]] y [[yii\log\Target::categories|categories]]
 para cada destino de registros, con estas se especifican los niveles de severidad y las categorías de mensajes que
@@ -176,7 +176,7 @@ de advertencia de las categorías que coincidan con alguno de los siguientes pat
   ejemplo, la excepción [[yii\web\NotFoundHttpException]] causará un mensaje de error del tipo
   `yii\web\HttpException:404`.
 
-### Formato de los Mensajes <a name="message-formatting"></a>
+### Formato de los Mensajes <span id="message-formatting"></span>
 
 Los destinos exportan los mensajes de registro filtrados en cierto formato. Por ejemplo, is se instala un
 destino de registros de la calse [[yii\log\FileTarget]], encontraremos un registro similar en el archivo de
@@ -227,7 +227,7 @@ Se puede configurar `logVars` para que sea un array vacío para deshabilitar tot
 contexto. O si se desea implementar un método propio de proporcionar información de contexto se puede sobrescribir el
 método [[yii\log\Target::getContextMessage()]].
 
-### Nivel de Seguimiento de Mensajes <a name="trace-level"></a>
+### Nivel de Seguimiento de Mensajes <span id="trace-level"></span>
 
 Durante el desarrollo, a veces se quiere visualizar de donde proviene cada mensaje de registro. Se puede lograr
 configurando la propiedad [[yii\log\Dispatcher::traceLevel|traceLevel]] del componente `log` como en el siguiente
@@ -253,7 +253,7 @@ si `YII_DEBUG` está deshabilitado, no se incluirá información de la pila de l
 > Información: Obtener información de la pila de llamadas no es trivial. Por lo tanto, sólo se debe usar esta
   característica durante el desarrollo o cuando se depura la aplicación.
 
-### Liberación (Flushing) y Exportación de Mensajes <a name="flushing-exporting"></a>
+### Liberación (Flushing) y Exportación de Mensajes <span id="flushing-exporting"></span>
 
 Como se ha comentado anteriormente, los mensajes de registro se mantienen en un array por el
 [[yii\log\Logger|logger object]]. Para limitar el consumo de memoria de este array, el componente encargado del
@@ -315,7 +315,7 @@ return [
 
 > Nota: El uso frecuente de liberación y exportación puede degradar el rendimiento de la aplicación.
 
-### Conmutación de Destinos de Registros <a name="toggling-log-targets"></a>
+### Conmutación de Destinos de Registros <span id="toggling-log-targets"></span>
 
 Se puede habilitar o deshabilitar un destino de registro configuración su propiedad
 [[yii\log\Target::enabled|enabled]]. Esto se puede llevar a cabo a mediante la configuración del destino de
@@ -346,14 +346,14 @@ return [
 ];
 ```
 
-### Creación de Nuevos Destinos <a name="new-targets"></a>
+### Creación de Nuevos Destinos <span id="new-targets"></span>
 
 La creación de nuevas clases de destinos de registro es muy simple. Se necesita implementar el método
 [[yii\log\Target::export()]] enviando el contenido del array [[yii\log\Target::messages]] al medio designado. Se puede
 llamar al método [[yii\log\Target::formatMessage()]] para formatear los mensajes. Se pueden encontrar más detalles de
 destinos de registros en las clases incluidas en la distribución de Yii.
 
-## Perfilado de Rendimiento <a name="performance-profiling"></a>
+## Perfilado de Rendimiento <span id="performance-profiling"></span>
 
 El Perfilado de rendimiento es un tipo especial de registro de mensajes que se usa para medir el tiempo que tardan en
 ejecutarse ciertos bloques de código y encontrar donde están los cuellos de botella de rendimiento. Por ejemplo, la
diff --git a/docs/guide-es/runtime-requests.md b/docs/guide-es/runtime-requests.md
index a1617f8..3179577 100644
--- a/docs/guide-es/runtime-requests.md
+++ b/docs/guide-es/runtime-requests.md
@@ -7,7 +7,7 @@ objeto request correspondiente a través del [componente de aplicación](structu
 que, por defecto, es una instancia de [[yii\web\Request]]. En esta sección se describirá como hacer uso de este 
 componente en las aplicaciones.
 
-## Parámetros de Request <a name="request-parameters"></a>
+## Parámetros de Request <span id="request-parameters"></span>
 
 Para obtener los parámetros de la petición, se puede llamar a los métodos [[yii\web\Request::get()|get()]] y 
 [[yii\web\Request::post()|post()]] del componente `request`. Estos devuelven los valores de `$_GET` y `$_POST`, 
@@ -58,7 +58,7 @@ $param = $request->getBodyParam('id');
   se acceda a él a través de los métodos descritos anteriormente. Se puede personalizar la manera en como los 
   parámetros se convierten configurando la propiedad [[yii\web\Request::parsers]].
 
-## Métodos de Request <a name="request-methods"></a>
+## Métodos de Request <span id="request-methods"></span>
 
 Se puede obtener el método HTTP usado por la petición actual a través de la expresión `Yii::$app->request->method`. Se 
 proporcionan un conjunto de propiedades booleanas para comprobar si el método actual es de un cierto tipo. Por ejemplo:
@@ -72,7 +72,7 @@ if ($request->isPost) { // el método de la request es POST }
 if ($request->isPut)  { // el método de la request es PUT }
 ```
 
-## URLs de Request <a name="request-urls"></a>
+## URLs de Request <span id="request-urls"></span>
 
 El componente `request` proporciona muchas maneras de inspeccionar la URL solicitada actualmente.
 
@@ -95,7 +95,7 @@ varias partes de la URL explicadas en los siguientes puntos:
 * [[yii\web\Request::serverName|serverName]]: devuelve `example.com`, que es el nombre del host dentro de la URL.
 * [[yii\web\Request::serverPort|serverPort]]: devuelve 80, que es el puerto que usa el servidor web.
 
-## Cabeceras HTTP <a name="http-headers"></a> 
+## Cabeceras HTTP <span id="http-headers"></span> 
 
 Se pueden obtener la información de las cabeceras HTTP a través de [[yii\web\HeaderCollection|header collection]] 
 devueltas por la propiedad [[yii\web\Request::headers]]. Por ejemplo:
@@ -130,7 +130,7 @@ lista de idiomas soportados por la aplicación, comparados con
 diatónicamente el content type y el idioma que debe usarse en la respuesta. El filtro implementa la negociación de 
 contenido en la parte superior de las propiedades y métodos descritos anteriormente.
 
-## Información del cliente <a name="client-information"></a>
+## Información del cliente <span id="client-information"></span>
 
 Se puede obtener el nombre del host y la dirección IP de la máquina cliente a través de 
 [[yii\web\Request::userHost|userHost]] y [[yii\web\Request::userIP|userIP]], respectivamente. Por ejemplo:
diff --git a/docs/guide-es/runtime-responses.md b/docs/guide-es/runtime-responses.md
index c765d09..8b16966 100644
--- a/docs/guide-es/runtime-responses.md
+++ b/docs/guide-es/runtime-responses.md
@@ -13,7 +13,7 @@ usuario final tal y como se explica a continuación.
 
 En esta sección, se describirá como generar y enviar respuestas a usuarios finales.
 
-## Códigos de Estado <a name="status-code"></a>
+## Códigos de Estado <span id="status-code"></span>
 
 Una de las primeras cosas que debería hacerse cuando se genera una respuesta es indicar si la petición se ha 
 gestionado correctamente. Esto se indica asignando la propiedad [[yii\web\Response::statusCode]] a la que se le puede 
@@ -56,7 +56,7 @@ Si la excepción que se quiere lanzar no se encuentra en la lista anterior, se p
 throw new \yii\web\HttpException(402);
 ```
 
-## Cabeceras HTTP <a name="http-headers"></a> 
+## Cabeceras HTTP <span id="http-headers"></span> 
 
 Se puede enviar cabeceras HTTP modificando el [[yii\web\Response::headers|header collection]] en el componente 
 `response`. Por ejemplo:
@@ -78,7 +78,7 @@ $values = $headers->remove('Pragma');
 Además, las nuevas cabeceras registradas no se enviarán al usuario hasta que se llame al método 
 [[yii\web\Response::send()]].
 
-## Cuerpo de la Respuesta<a name="response-body"></a>
+## Cuerpo de la Respuesta<span id="response-body"></span>
 
 La mayoría de las respuestas deben tener un cuerpo que contenga el contenido que se quiere mostrar a los usuarios 
 finales.
@@ -160,7 +160,7 @@ public function actionInfo()
 `response` en la configuración de la aplicación. Sin embargo, se puede usar la 
 [inyección de dependencias](concept-di-container.md) para aplicar la configuración común al nuevo objeto response.
 
-## Redirección del Navegador <a name="browser-redirection"></a>
+## Redirección del Navegador <span id="browser-redirection"></span>
 
 La redirección del navegador se basa en el envío de la cabecera HTTP `Location`. Debido a que esta característica se 
 usa comúnmente, Yii proporciona soporte especial para ello.
@@ -202,7 +202,7 @@ JavaScript, incluyendo la redirección de navegador basada en la cabecera `X-Red
 fichero JavaScript (registrándolo *asset bundle* [[yii\web\YiiAsset]]), no se necesitará escribir nada más para tener 
 soporte en redirecciones AJAX.
 
-## Enviar Archivos <a name="sending-files"></a>
+## Enviar Archivos <span id="sending-files"></span>
 
 Igual que con la redirección, el envío de archivos es otra característica que se basa en cabeceras HTTP especificas. 
 Yii proporciona un conjunto de métodos para dar soporte a varias necesidades del envío de ficheros. Todos ellos 
@@ -242,7 +242,7 @@ algunos servidores Web populares.
 - Nginx: [X-Accel-Redirect](http://wiki.nginx.org/XSendfile)
 - Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile)
 
-## Enviar la Respuesta <a name="sending-response"></a>
+## Enviar la Respuesta <span id="sending-response"></span>
 
 El contenido en una respuesta no se envía al usuario hasta que se llama al método [[yii\web\Response::send()]]. De 
 forma predeterminada, se llama a este método automáticamente al final de [[yii\base\Application::run()]]. Sin embargo, 
diff --git a/docs/guide-es/runtime-routing.md b/docs/guide-es/runtime-routing.md
index 8525c11..f15a943 100644
--- a/docs/guide-es/runtime-routing.md
+++ b/docs/guide-es/runtime-routing.md
@@ -37,7 +37,7 @@ los parámetros.
 ```
 
 
-## Formatos de URL <a name="url-formats"></a>
+## Formatos de URL <span id="url-formats"></span>
 
 El [[yii\web\UrlManager|URL manager]] soporta dos formatos de URL: el formato predeterminado de URL y el formato URL 
 amigable (pretty URL).
@@ -59,7 +59,7 @@ Se puede cambiar entre los dos formatos de URL conmutando la propiedad
 [[yii\web\UrlManager::enablePrettyUrl|enablePrettyUrl]] del [[yii\web\UrlManager|URL manager]] sin cambiar ningún 
 otro código de aplicación.
 
-## Enrutamiento <a name="routing"></a>
+## Enrutamiento <span id="routing"></span>
 
 El Enrutamiento involucra dos pasos. El primero, la petición (request) entrante se convierte en una ruta y sus 
 parámetros de consulta asociados. En el segundo paso, se crea la correspondiente 
@@ -92,7 +92,7 @@ acción. Empezando por la primera parte de la ruta, la aplicación, sigue los si
 Si ocurre algún error entre alguno de los pasos anteriores, se lanzará una excepción de tipo 
 [[yii\web\NotFoundHttpException]], indicando el fallo de proceso de enrutamiento.
 
-### Ruta Predeterminada <a name="default-route"></a>
+### Ruta Predeterminada <span id="default-route"></span>
 
 Cuando una petición se convierte en una ruta vacía, se usa la llamada *ruta predeterminada*. Por defecto, la ruta 
 predeterminada es `site/index`, que hace referencia a la acción `index` del controlador `site`. Se puede personalizar 
@@ -107,7 +107,7 @@ aplicación como en el siguiente ejemplo:
 ```
 
 
-### Ruta `catchAll` <a name="catchall-route"></a>
+### Ruta `catchAll` <span id="catchall-route"></span>
 
 A veces, se puede querer poner la aplicación Web en modo de mantenimiento temporalmente y mostrar la misma pagina de 
 información para todas las peticiones. Hay varias maneras de lograr este objetivo. Pero una de las maneras más simples 
@@ -126,7 +126,7 @@ Con la anterior configuración, se usar la acción `site/offline` para gestionar
 La propiedad `catchAll` debe tener un array cuyo primer elemento especifique una ruta, y el resto de elementos 
 (pares nombre-valor) especifiquen los parámetros [ligados a la acción](structure-controllers.md#action-parameters).
 
-## Creación de URLs <a name="creating-urls"></a>
+## Creación de URLs <span id="creating-urls"></span>
 
 Yii proporciona un método auxiliar (helper method) [[yii\helpers\Url::to()]] para crear varios tipos de URLs a partir 
 de las rutas dadas y sus parámetros de consulta asociados. Por ejemplo, 
@@ -222,7 +222,7 @@ echo Url::previous();
 ```
 
 
-## Uso de URLs Amigables <a name="using-pretty-urls"></a>
+## Uso de URLs Amigables <span id="using-pretty-urls"></span>
 
 Para utilizar URLs amigables, hay que configurar el componente `ulrManager` en la configuración de la aplicación como 
 en el siguiente ejemplo:
@@ -265,7 +265,7 @@ amigable. El resto de propiedades son opcionales. Sin embargo, la anterior confi
   [Instalación](start-installation.md#recommended-apache-configuration).
 
 
-### Regalas de URL <a name="url-rules"></a>
+### Regalas de URL <span id="url-rules"></span>
 
 Una regla de URL es una instancia de [[yii\web\UrlRule]] o de una clase hija. Cada URL consiste en un patrón utilizado 
 para cotejar la parte de información de ruta de las URLs, una ruta, y algunos parámetros de consulta. Una URL puede 
@@ -317,7 +317,7 @@ De forma predeterminada si no se especifica la opción `class` en la configuraci
 predeterminada [[yii\web\UrlRule]].
 
 
-### Parameters Asociativos <a name="named-parameters"></a>
+### Parameters Asociativos <span id="named-parameters"></span>
 
 Una regla de URL puede asociarse a una determinado grupo de parámetros de consulta que se hayan sido especificados en 
 el patrón con el formato `<ParamName:RegExp>`, donde `ParamName` especifica el nombre del parámetro y `RegExp` es una 
@@ -369,7 +369,7 @@ Y cuando las se usen las reglas para crear URLs:
    la parte de información de la ruta y todos los parámetros como parte de la consulta.
 
 
-### Parametrización de Rutas <a name="parameterizing-routes"></a>
+### Parametrización de Rutas <span id="parameterizing-routes"></span>
 
 Se pueden incrustar nombres de parámetros en la ruta de una regla de URL. Esto permite a la regla de URL poder ser 
 usada para que coincida con varias rutas. Por ejemplo, la siguiente regla incrusta los parámetros `controller` y 
@@ -423,7 +423,7 @@ La regla anterior puede usarse para convertir o crear cualquiera de las siguient
 Sin usar ningún parámetro opcional, se tendrían que crear 4 reglas para lograr el mismo resultado.
 
 
-### Reglas con Nombres de Servidor <a name="rules-with-server-names"></a>
+### Reglas con Nombres de Servidor <span id="rules-with-server-names"></span>
 
 Es posible incluir nombres de servidores Web en los parámetros de las URLs. Esto es practico principalmente cuando una 
 aplicación debe tener distintos comportamientos paro diferentes nombres de servidores Web. Por ejemplo, las siguientes 
@@ -453,7 +453,7 @@ ejemplo, la siguiente regla convertirá la URL `http://en.example.com/posts` en 
   permitirá que la aplicación se pueda desarrollar en cualquier directorio sin la necesidad de cambiar el código de la 
   aplicación.
 
-### Sufijos de URL <a name="url-suffixes"></a>
+### Sufijos de URL <span id="url-suffixes"></span>
 
 Se puede querer añadir sufijos a las URLs para varios propósitos. Por ejemplo, se puede añadir `.html`a las URLs para 
 que parezcan URLs para paginas HTML estáticas; también se puede querer añadir `.json` a las URLs para indicar el tipo 
@@ -512,7 +512,7 @@ siguiente configuración contiene una regla de URL personalizada que usa el sufi
 ```
 
 
-### Métodos HTTP <a name="http-methods"></a>
+### Métodos HTTP <span id="http-methods"></span>
 
 Cuando se implementan APIs RESTful, normalmente se necesita que ciertas URLs se conviertan en otras de acuerdo con el 
 método HTTP que se esté usando. Esto se puede hacer fácilmente prefijando los métodos HTTP soportados como los 
@@ -538,7 +538,7 @@ convertirá en `post/view`.
   el desarrollo de APIs RESTful.
 
 
-### Personalización de Reglas <a name="customizing-rules"></a>
+### Personalización de Reglas <span id="customizing-rules"></span>
 
 En los anteriores ejemplos, las reglas de URL se han declarado principalmente en términos de pares de patrón-ruta. 
 Este es un método de acceso directo que se usa a menudo. En algunos escenarios, se puede querer personalizar la regla 
@@ -562,7 +562,7 @@ array completo de configuración para especificar una regla. El siguiente ejempl
   usará la clase predeterminada [[yii\web\UrlRule]].
 
 
-### Adición de Reglas Dinámicamente <a name="adding-rules"></a>
+### Adición de Reglas Dinámicamente <span id="adding-rules"></span>
 
 Las reglas de URL se pueden añadir dinámicamente en el [[yii\web\UrlManager|URL manager]]. A menudo se necesita por 
 [módulos](structure-modules.md) redistribubles que se encargan de gestionar sus propias reglas de URL. Para que las 
@@ -583,7 +583,7 @@ public function bootstrap($app)
 Hay que tener en cuenta se deben añadir estos módulos en [[yii\web\Application::bootstrap]] para que puedan participar 
 en el proceso de [bootstrapping](runtime-bootstrapping.md)
 
-### Creación de Clases de Reglas <a name="creating-rules"></a>
+### Creación de Clases de Reglas <span id="creating-rules"></span>
 
 A pesar del hecho de que de forma predeterminada la clase [[yii\web\UrlRule]] lo suficientemente flexible para la 
 mayoría de proyectos, hay situaciones en las que se tiene que crear una clase de reglas propia. Por ejemplo, en un 
@@ -642,7 +642,7 @@ Y usa la nueva clase de regla en la configuración de [[yii\web\UrlManager::rule
 ]
 ```
 
-## Consideración del Rendimiento <a name="performance-consideration"></a>
+## Consideración del Rendimiento <span id="performance-consideration"></span>
 
 Cuando se desarrolla una aplicación Web compleja, es importante optimizar las reglas de URL para que tarden el mínimo 
 tiempo posible en convertir las peticiones y crear URLs.
diff --git a/docs/guide-es/runtime-sessions-cookies.md b/docs/guide-es/runtime-sessions-cookies.md
index 4a7537d..400801b 100644
--- a/docs/guide-es/runtime-sessions-cookies.md
+++ b/docs/guide-es/runtime-sessions-cookies.md
@@ -4,12 +4,12 @@ Sesiones (Sessions) y Cookies
 Las sesiones y las cookies permiten la persistencia de datos a través de múltiples peticiones de usuario. En PHP plano, debes acceder a ellos a través de las variables globales `$_SESSION` y `$_COOKIE`, respectivamente. Yii encapsula las sesiones y las cookies como objetos y por lo tanto te permite acceder a ellos de manera orientada a objetos con estupendas mejoras adicionales.
 
 
-## Sesiones <a name="sessions"></a>
+## Sesiones <span id="sessions"></span>
 
 Como las [peticiones](runtime-requests.md) y las [respuestas](runtime-responses.md), puedes acceder a las sesiones vía el [componente de la aplicación](structure-application-components.md) `session`  el cual es una instancia de [[yii\web\Session]], por defecto.
 
 
-### Abriendo y cerrando sesiones <a name="opening-closing-sessions"></a>
+### Abriendo y cerrando sesiones <span id="opening-closing-sessions"></span>
 
 Para abrir y cerrar una sesión, puedes hacer lo siguiente:
 
@@ -32,7 +32,7 @@ $session->destroy();
 Puedes llamar a [[yii\web\Session::open()|open()]] y [[yii\web\Session::close()|close()]] múltiples veces sin causar errores. Esto ocurre porque internamente los métodos verificarán primero si la sesión está ya abierta.
 
 
-### Accediendo a los datos de sesión <a name="access-session-data"></a>
+### Accediendo a los datos de sesión <span id="access-session-data"></span>
 
 Para acceder a los datos almacenados en sesión, puedes hacer lo siguiente:
 
@@ -114,7 +114,7 @@ $session['captcha.lifetime'] = 3600;
 Para un mejor rendimiento y legibilidad del código, recomendamos la última solución. Es decir, en vez de almacenar un array como una única variable de sesión, almacena cada elemento del array como una variable de sesión que comparta el mismo prefijo clave con otros elementos del array.
 
 
-### Personalizar el almacenamiento de sesión <a name="custom-session-storage"></a>
+### Personalizar el almacenamiento de sesión <span id="custom-session-storage"></span>
 
 Por defecto la clase [[yii\web\Session]] almacena los datos de sesión como ficheros en el servidor. Yii también provee de las siguientes clases de sesión que implementan diferentes almacenamientos de sesión:
 
@@ -161,7 +161,7 @@ donde 'BLOB' se refiere al BLOB-type de tu DBMS preferida. Abajo está el tipo B
 > Nota: De acuerdo con la configuración de php.ini `session.hash_function`, puedes necesitar ajustar el tamaño de la columna `id`. Por ejemplo, si `session.hash_function=sha256`, deberías usar el tamaño 64 en vez de 40.
 
 
-### Flash Data <a name="flash-data"></a>
+### Flash Data <span id="flash-data"></span>
 
 Flash data es una clase especial de datos de sesión que, una vez se inicialice en la primera petición, estará sólo disponible durante la siguiente petición y automáticamente se borrará después. Flash data es comúnmente usado para implementar mensajes que deberían ser mostrados una vez a usuarios finales, tal como mostrar un mensaje de confirmación después de que un usuario envíe un formulario con éxito.
 
@@ -207,13 +207,13 @@ $alerts = $session->getFlash('alerts');
   del mismo nombre. Esto ocurre porque el último método elimina el flash data dentro del array así que puedes añadir un nuevo flash data con el mismo nombre. Como resultado, cuando llamas a [[yii\web\Session::getFlash()]], puedes encontrarte algunas veces que te está devolviendo un array mientras que otras veces te está devolviendo un string, esto depende del orden que invoques a estos dos métodos.
 
 
-## Cookies <a name="cookies"></a>
+## Cookies <span id="cookies"></span>
 
 Yii representa cada cookie como un objeto de [[yii\web\Cookie]]. Tanto [[yii\web\Request]] como [[yii\web\Response]]
 mantienen una colección de cookies vía la propiedad de llamada `cookies`. La colección de cookie en la antigua representación son enviadas en una petición, mientras la colección de cookie en esta última representa las cookies que van a ser enviadas al usuario.
 
 
-### Leyendo Cookies <a name="reading-cookies"></a>
+### Leyendo Cookies <span id="reading-cookies"></span>
 
 Puedes recuperar las cookies en la petición actual usando el siguiente código:
 
@@ -240,7 +240,7 @@ if (isset($cookies['language'])) ...
 ```
 
 
-### Enviando Cookies <a name="sending-cookies"></a>
+### Enviando Cookies <span id="sending-cookies"></span>
 
 Puedes enviar cookies a usuarios finales usando el siguiente código:
 
@@ -265,7 +265,7 @@ Además de [[yii\web\Cookie::name|name]], [[yii\web\Cookie::value|value]] las pr
 > Nota: Para mayor seguridad, el valor por defecto de [[yii\web\Cookie::httpOnly]] es true. Esto ayuda a mitigar el riesgo del acceso a la cookie protegida por script desde el lado del cliente (si el navegador lo soporta). Puedes leer el [httpOnly wiki article](https://www.owasp.org/index.php/HttpOnly) para más detalles.
 
 
-### Validación de la Cookie <a name="cookie-validation"></a>
+### Validación de la Cookie <span id="cookie-validation"></span>
 
 Cuando estás leyendo y enviando cookies a través de los componentes `request` y `response` como mostramos en las dos últimas subsecciones, cuentas con el añadido de seguridad de la validación de cookies el cual protege las cookies de ser modificadas en el lado del cliente. Esto se consigue con la firma de cada cookie con una cadena hash, el cual permite a la aplicación saber si una cookie ha sido modificada en el lado del cliente o no. Si es así, la cookie no será accesible a través de [[yii\web\Request::cookies|cookie collection]] del componente `request`.
 
diff --git a/docs/guide-es/start-databases.md b/docs/guide-es/start-databases.md
index a9f6a28..fb9f496 100644
--- a/docs/guide-es/start-databases.md
+++ b/docs/guide-es/start-databases.md
@@ -18,7 +18,7 @@ En particular, deberás ser capaz de crear una base de datos y saber ejecutar co
 base de datos.
 
 
-Preparando una Base de Datos <a name="preparing-database"></a>
+Preparando una Base de Datos <span id="preparing-database"></span>
 ----------------------------
 
 Para empezar, crea una base de datos llamada `yii2basic` de la cual tomarás los datos en la aplicación.
@@ -50,7 +50,7 @@ Al final, tendrás una base de datos llamada `yii2basic`, y dentro de esta, una 
 registros en ella.
 
 
-Configurando una conexión a la Base de Datos <a name="configuring-db-connection"></a>
+Configurando una conexión a la Base de Datos <span id="configuring-db-connection"></span>
 --------------------------------------------
 
 Asegúrate de tener instalado la extensión de PHP [PDO](http://www.php.net/manual/es/book.pdo.php) y el driver
@@ -83,7 +83,7 @@ La conexión a la base de datos realizada anteriormente puede ser accedida media
   Para más información, consulta la sección [Configuraciones](concept-configurations.md).
 
 
-Creando un Active Record <a name="creating-active-record"></a>
+Creando un Active Record <span id="creating-active-record"></span>
 ------------------------
 
 Para representar y extraer datos de la tabla `country`, crea una clase [Active Record](db-active-record.md)
@@ -131,7 +131,7 @@ Puedes encontrar información más detallada acerca de [Active Record](db-active
 puedes utilizar un método de acceso de bajo nivel llamado [Data Access Objects](db-dao.md).
 
 
-Creando una Acción <a name="creating-action"></a>
+Creando una Acción <span id="creating-action"></span>
 ------------------
 
 Para mostrar el país a los usuarios, necesitas crear una acción. En vez de hacerlo en el controlador `site`
@@ -188,7 +188,7 @@ Al final, la acción `index` renderiza una vista llamada `index` y le pasa los d
 de paginación relacionada.
 
 
-Creando una Vista <a name="creating-view"></a>
+Creando una Vista <span id="creating-view"></span>
 -----------------
 
 Bajo el directorio `views`, crea primero un sub-directorio llamado `country`. Este será usado para contener
@@ -220,7 +220,7 @@ El widget `LinkPager` muestra una lista de botones que representan las páginas 
 de ellas mostrará los datos de países de la página correspondiente.
 
 
-Probándolo <a name="trying-it-out"></a>
+Probándolo <span id="trying-it-out"></span>
 ----------
 
 Para ver cómo funciona, utiliza a la siguiente URL en tu navegador:
@@ -252,7 +252,7 @@ Entre bastidores, [[yii\data\Pagination|Pagination]] está realizando su magia.
   siguientes cinco países para mostrar.
 
 
-Resumen <a name="summary"></a>
+Resumen <span id="summary"></span>
 -------
 
 En esta sección has aprendido cómo trabajar con una base de datos. También has aprendido cómo traer y mostrar
diff --git a/docs/guide-es/start-forms.md b/docs/guide-es/start-forms.md
index 6788fc4..2516677 100644
--- a/docs/guide-es/start-forms.md
+++ b/docs/guide-es/start-forms.md
@@ -15,7 +15,7 @@ A través de este tutorial, aprenderás
 * Cómo construir un formulario HTML en una [vista](structure-views.md).
 
 
-Creando un Modelo <a name="creating-model"></a>
+Creando un Modelo <span id="creating-model"></span>
 -----------------
 
 Para representar los datos ingresados por un usuario, crea una clase modelo `EntryForm` cómo se muestra abajo y
@@ -60,7 +60,7 @@ de los datos se mostrará en la propiedad [[yii\base\Model::hasErrors|hasErrors]
 [[yii\base\Model::getErrors|errors]] puedes aprender cuales son los errores de validación que tiene el modelo.
 
 
-Creando una Acción <a name="creating-action"></a>
+Creando una Acción <span id="creating-action"></span>
 ------------------
 
 Luego, crea una acción `entry` en el controlador `site`, como lo hiciste en la sección anterior.
@@ -112,7 +112,7 @@ mostrada, y mostrará el formulario HTML junto con los mensajes de error de vali
   En el código de arriba, el componente `request` es utilizado para acceder los datos `$_POST`.
 
 
-Creando Vistas <a name="creating-views"></a>
+Creando Vistas <span id="creating-views"></span>
 --------------
 
 Finalmente, crea dos vistas llamadas `entry-confirm` y `entry` que sean mostradas por la acción `entry`,
@@ -160,7 +160,7 @@ y el segundo del dato "email". Después de los campos de input, el método [[yii
 es llamado para general el botón de submit (enviar).
 
 
-Probándolo <a name="trying-it-out"></a>
+Probándolo <span id="trying-it-out"></span>
 ----------
 
 Para ver cómo funciona, utiliza tu navegador para ir al siguiente URL:
@@ -182,7 +182,7 @@ mostrando los datos que acabas de ingresar.
 
 
 
-### Magia Explicada <a name="magic-explained"></a>
+### Magia Explicada <span id="magic-explained"></span>
 
 Te estarás preguntando cómo funciona toda esa automatización del formulario HTML, porque parece casi mágico que pueda 
 mostrar una etiqueta para cada campo de input y mostrar los mensajes de error si no ingresas los datos correctamente
@@ -208,7 +208,7 @@ el siguiente código:
   código de tus vistas en widgets reutilizables para simplificar el desarrollo de las vistas en un futuro.
 
 
-Resumen <a name="summary"></a>
+Resumen <span id="summary"></span>
 -------
 
 En esta sección, has tocado cada parte del patrón de diseño MVC. Ahora has aprendido
diff --git a/docs/guide-es/start-gii.md b/docs/guide-es/start-gii.md
index 4a67d8e..709acc0 100644
--- a/docs/guide-es/start-gii.md
+++ b/docs/guide-es/start-gii.md
@@ -13,7 +13,7 @@ A lo largo de este tutorial, aprenderás
 * Cómo personalizar el código generado por Gii.
 
 
-Comenzando con Gii <a name="starting-gii"></a>
+Comenzando con Gii <span id="starting-gii"></span>
 ------------------
 
 [Gii](tool-gii.md) está provisto por Yii en forma de [módulo](structure-modules.md). Puedes habilitar Gii
@@ -47,7 +47,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-Generando una Clase Active Record <a name="generating-ar"></a>
+Generando una Clase Active Record <span id="generating-ar"></span>
 ---------------------------------
 
 Para poder generar una clase Active Record con Gii, selecciona "Model Generator" (haciendo click en el vínculo que existe en la página inicial del modulo Gii). Después, completa el formulario de la siguiente manera,
@@ -71,7 +71,7 @@ Después, verás una página de confirmación indicando que el código ha sido g
 ha sido sobrescrito con el nuevo código generado.
 
 
-Generando código de ABM (CRUD en inglés) <a name="generating-crud"></a>
+Generando código de ABM (CRUD en inglés) <span id="generating-crud"></span>
 ----------------------------------------
 
 En computación, CRUD es el acrónimo de Crear, Obtener, Actualizar y Borrar (del inglés: Create, Read, Update y Delete) 
@@ -90,7 +90,7 @@ Si has creado previamente los archivos `controllers/CountryController.php` y
 `views/country/index.php` (en la sección sobre bases de datos de esta guía), asegúrate de seleccionar el checkbox "overwrite" para reemplazarlos. (Las versiones anteriores no disponían de un soporte ABM (CRUD) completo.)
 
 
-Probándolo <a name="trying-it-out"></a>
+Probándolo <span id="trying-it-out"></span>
 ----------
 
 Para ver cómo funciona, accede desde tu navegador a la siguiente URL:
@@ -122,7 +122,7 @@ o por si desearas personalizarlos:
   sección [Gii](tool-gii.md).
 
 
-Resumen <a name="summary"></a>
+Resumen <span id="summary"></span>
 -------
 
 En esta sección, has aprendido a utilizar Gii para generar el código que implementa completamente las características
diff --git a/docs/guide-es/start-hello.md b/docs/guide-es/start-hello.md
index cc32eb8..76ff1da 100644
--- a/docs/guide-es/start-hello.md
+++ b/docs/guide-es/start-hello.md
@@ -15,7 +15,7 @@ A lo largo de este tutorial, aprenderás tres cosas:
 3. Cómo una aplicación envía peticiones a las [acciones](structure-controllers.md#creating-actions).
 
 
-Creando una Acción <a name="creating-action"></a>
+Creando una Acción <span id="creating-action"></span>
 ------------------
 
 Para la tarea "Hola", crearás una [acción](structure-controllers.md#creating-actions) `say` que lee
@@ -70,7 +70,7 @@ El resultado es devuelto al método de la acción. Ese resultado será recibido 
 navegador (como parte de una página HTML completa).
 
 
-Creando una Vista <a name="creating-view"></a>
+Creando una Vista <span id="creating-view"></span>
 -----------------
 
 Las [vistas](structure-views.md) son scripts que escribes para generar una respuesta de contenido.
@@ -95,7 +95,7 @@ De hecho, la vista `say` es sólo un script PHP que es ejecutado por el método 
 El contenido impreso por el script de la vista será regresado a la aplicación como la respuesta del resultado. La aplicación a cambio mostrará el resultado al usuario final.
 
 
-Probándolo <a name="trying-it-out"></a>
+Probándolo <span id="trying-it-out"></span>
 ----------
 
 Después de crear la acción y la vista, puedes acceder a la nueva página abriendo el siguiente URL:
@@ -127,7 +127,7 @@ el método `SiteController::actionSay()` será llamado para manejar el requerimi
   al nombre de clase del controlador `PostComentarioController`.
 
 
-Resumen <a name="summary"></a>
+Resumen <span id="summary"></span>
 -------
 
 En esta sección, has tocado las partes del controlador y la vista del patrón de diseño MVC.
diff --git a/docs/guide-es/start-installation.md b/docs/guide-es/start-installation.md
index d97861d..f39ec65 100644
--- a/docs/guide-es/start-installation.md
+++ b/docs/guide-es/start-installation.md
@@ -7,7 +7,7 @@ Es preferible usar la primera forma, ya que te permite instalar [extensiones](st
 > Nota: A diferencia de Yii 1, la instalación estándar de Yii 2 resulta en la descarga e instalación tanto del framework como del esqueleto de la aplicación.
 
 
-Instalando a través de Composer <a name="installing-via-composer"></a>
+Instalando a través de Composer <span id="installing-via-composer"></span>
 -------------------------------
 
 Si aún no tienes Composer instalado, puedes hacerlo siguiendo las instrucciones que se encuentran en
@@ -39,7 +39,7 @@ El comando anterior instala Yii dentro del directorio `basic`.
 > Ten en cuenta que la versión de desarrollo de Yii no debería ser usada para producción ya que podría romper el funcionamiento actual de la aplicación.
 
 
-Instalando desde un Archivo Comprimido <a name="installing-from-archive-file"></a>
+Instalando desde un Archivo Comprimido <span id="installing-from-archive-file"></span>
 --------------------------------------
 
 Instalar Yii desde un archivo comprimido involucra dos pasos:
@@ -48,7 +48,7 @@ Instalar Yii desde un archivo comprimido involucra dos pasos:
 2. Descomprimirlo en un directorio accesible vía Web.
 
 
-Otras Opciones de Instalación <a name="other-installation-options"></a>
+Otras Opciones de Instalación <span id="other-installation-options"></span>
 -----------------------------
 
 Las instrucciones anteriores muestran cómo instalar Yii, lo que también crea una aplicación Web lista para ser usada.
@@ -62,7 +62,7 @@ Pero también hay otras opciones de instalación disponibles:
   deberías considerar instalar el [Template de Aplicación Avanzada](tutorial-advanced-app.md).
 
 
-Verificando las Instalación <a name="verifying-installation"></a>
+Verificando las Instalación <span id="verifying-installation"></span>
 ---------------------------
 
 Después de la instalación, puedes acceder a la aplicación instalada a través de la siguiente URL:
@@ -92,7 +92,7 @@ También deberías instalar la [Extensión de PHP PDO](http://www.php.net/manual
 (como `pdo_mysql` para bases de datos MySQL), si tu aplicación lo necesitara.
 
 
-Configurando Servidores Web <a name="configuring-web-servers"></a>
+Configurando Servidores Web <span id="configuring-web-servers"></span>
 ---------------------------
 
 > Información: Puedes saltear esta sección por ahora si sólo estás probando Yii sin intención de poner la aplicación en un servidor de producción.
@@ -115,7 +115,7 @@ la configuración del servidor Web, aún puedes ajustar la estructura de la apli
 la sección [Entorno de Hosting Compartido](tutorial-shared-hosting.md) para más detalles.
 
 
-### Configuración Recomendada de Apache <a name="recommended-apache-configuration"></a>
+### Configuración Recomendada de Apache <span id="recommended-apache-configuration"></span>
 
 Utiliza la siguiente configuración del archivo `httpd.conf` de Apache dentro de la configuración del virtual host. Ten en cuenta
 que deberás reemplazar `path/to/basic/web` con la ruta real a `basic/web`.
@@ -138,7 +138,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### Configuración Recomendada de Nginx <a name="recommended-nginx-configuration"></a>
+### Configuración Recomendada de Nginx <span id="recommended-nginx-configuration"></span>
 
 Deberías haber instalado PHP como un [FPM SAPI](http://php.net/install.fpm) para utilizar [Nginx](http://wiki.nginx.org/).
 Utiliza la siguiente configuración de Nginx, reemplazando `path/to/basic/web` con la ruta real a `basic/web` y `mysite.local` con el
diff --git a/docs/guide-es/start-workflow.md b/docs/guide-es/start-workflow.md
index 5b16378..d2c952c 100644
--- a/docs/guide-es/start-workflow.md
+++ b/docs/guide-es/start-workflow.md
@@ -12,7 +12,7 @@ y cómo la aplicación maneja los requests en general.
   Dependiendo de tus necesidades, por favor ajusta dichas URLs.
 
 
-Funcionalidad <a name="functionality"></a>
+Funcionalidad <span id="functionality"></span>
 -------------
 
 La aplicación básica contiene 4 páginas:
@@ -32,7 +32,7 @@ Esta es la útil [herramienta de depuración](tool-debugger.md) provista por Yii
 tal como los mensajes de log, response status, las consultas ejecutadas a la base de datos, y más.
 
 
-Estructura de la aplicación <a name="application-structure"></a>
+Estructura de la aplicación <span id="application-structure"></span>
 ---------------------------
 
 Los archivos y directorios más importantes en tu aplicación son (asumiendo que la raíz de la aplicación es `basic`):
@@ -74,7 +74,7 @@ y la envía al resto de los elementos MVC. Los [widgets](structure-widgets.md) s
 para ayudar a construir elementos de interfáz complejos y dinámicos.
 
 
-Ciclo de Vida de una Petición (Request) <a name="request-lifecycle"></a>
+Ciclo de Vida de una Petición (Request) <span id="request-lifecycle"></span>
 ---------------------------------------
 
 El siguiente diagrama muestra cómo una aplicación maneja una petición.
diff --git a/docs/guide-es/structure-application-components.md b/docs/guide-es/structure-application-components.md
index fd43963..c264587 100644
--- a/docs/guide-es/structure-application-components.md
+++ b/docs/guide-es/structure-application-components.md
@@ -48,7 +48,7 @@ Por ejemplo:
   y utilizarlo únicamente cuando sea necesario.
 
 
-## Componentes del Núcleo de la Aplicación <a name="core-application-components"></a>
+## Componentes del Núcleo de la Aplicación <span id="core-application-components"></span>
 
 Yii define un grupo de componentes del *núcleo* con IDs fijos y configuraciones por defecto. Por ejemplo,
 el componente [[yii\web\Application::request|request]] es utilizado para recolectar información acerca
diff --git a/docs/guide-es/structure-applications.md b/docs/guide-es/structure-applications.md
index 024fee8..81dc946 100644
--- a/docs/guide-es/structure-applications.md
+++ b/docs/guide-es/structure-applications.md
@@ -14,7 +14,7 @@ Hay dos tipos de aplicaciones: [[yii\web\Application|aplicaciones Web]] y
 Web requests mientras que la última maneja requests (peticiones) de la línea de comandos.
 
 
-## Configuraciones de las Aplicaciones <a name="application-configurations"></a>
+## Configuraciones de las Aplicaciones <span id="application-configurations"></span>
 
 Cuando un [script de entrada](structure-entry-scripts.md) crea una aplicación, cargará
 una [configuración](concept-configurations.md) y la aplicará a la aplicación, como se muestra a continuación:
@@ -36,7 +36,7 @@ suelen ser complejas, son usualmente guardadas en [archivos de configuración](c
 como en el archivo `web.php` del ejemplo anterior.
 
 
-## Propiedades de la Aplicación <a name="application-properties"></a>
+## Propiedades de la Aplicación <span id="application-properties"></span>
 
 Hay muchas propiedades importantes en la aplicación que deberían configurarse en en la configuración de la aplicación.
 Estas propiedades suelen describir el entorno en el cual la aplicación está corriendo.
@@ -44,20 +44,20 @@ Por ejemplo, las aplicaciones necesitan saber cómo cargar [controladores](struc
 dónde guardar archivos temporales, etc. A continuación, resumiremos esas propiedades.
 
 
-### Propiedades Requeridas <a name="required-properties"></a>
+### Propiedades Requeridas <span id="required-properties"></span>
 
 En cualquier aplicación, debes configurar al menos dos propiedades: [[yii\base\Application::id|id]]
 y [[yii\base\Application::basePath|basePath]].
 
 
-#### [[yii\base\Application::id|id]] <a name="id"></a>
+#### [[yii\base\Application::id|id]] <span id="id"></span>
 
 La propiedad [[yii\base\Application::id|id]] especifica un ID único que diferencia una aplicación de otras.
 Es mayormente utilizada a nivel programación. A pesar de que no es un requerimiento, para una mejor interoperabilidad,
 se recomienda utilizar sólo caracteres alfanuméricos.
 
 
-#### [[yii\base\Application::basePath|basePath]] <a name="basePath"></a>
+#### [[yii\base\Application::basePath|basePath]] <span id="basePath"></span>
 
 La propiedad [[yii\base\Application::basePath|basePath]] especifica el directorio raíz de una aplicación.
 Es el directorio que alberga todos los archivos protegidos de un sistema. Bajo este directorio,
@@ -73,13 +73,13 @@ La propiedad [[yii\base\Application::basePath|basePath]] es utilizada a menudo d
 Rutas derivadas pueden ser entonces creadas a partir de este alias (ej. `@app/runtime` para referirse al directorio `runtime`).
 
 
-### Propiedades Importantes <a name="important-properties"></a>
+### Propiedades Importantes <span id="important-properties"></span>
 
 Las propiedades descritas en esta subsección a menudo necesita ser configurada porque difieren entre las
 diferentes aplicaciones.
 
 
-#### [[yii\base\Application::aliases|aliases]] <a name="aliases"></a>
+#### [[yii\base\Application::aliases|aliases]] <span id="aliases"></span>
 
 Esta propiedad te permite definir un grupo de [alias](concept-aliases.md) en términos de un array (matriz).
 Las claves del array son los nombres de los alias, y los valores su correspondiente definición.
@@ -98,7 +98,7 @@ Esta propiedad está provista de tal manera que puedas definir alias en término
 en vez de llamadas al método [[Yii::setAlias()]].
 
 
-#### [[yii\base\Application::bootstrap|bootstrap]] <a name="bootstrap"></a>
+#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
 
 Esta es una propiedad importante. Te permite definir un array de los componentes que deben ejecutarse
 durante el [[yii\base\Application::bootstrap()|proceso de `bootstrapping`]] de la aplicación.
@@ -154,7 +154,7 @@ if (YII_ENV_DEV) {
   por cada request, se necesita correr el mismo grupo de componentes. Por lo tanto, utiliza componentes `bootstrap` con criterio.
 
 
-#### [[yii\web\Application::catchAll|catchAll]] <a name="catchAll"></a>
+#### [[yii\web\Application::catchAll|catchAll]] <span id="catchAll"></span>
 
 Esta propiedad está solamente soportada por [[yii\web\Application|aplicaciones Web]]. Especifica
 la [acción de controlador](structure-controllers.md) que debería manejar todos los requests (peticiones) del usuario.
@@ -176,7 +176,7 @@ Por ejemplo:
 ```
 
 
-#### [[yii\base\Application::components|components]] <a name="components"></a>
+#### [[yii\base\Application::components|components]] <span id="components"></span>
 
 Esta es la propiedad más importante. Te permite registrar una lista de componentes llamados [componentes de aplicación](#structure-application-components.md)
 que puedes utilizar en otras partes de tu aplicación. Por ejemplo:
@@ -204,7 +204,7 @@ la expresión `\Yii::$app->ComponentID`.
 Por favor, lee la sección [Componentes de la Aplicación](structure-application-components.md) para mayor detalle.
 
 
-#### [[yii\base\Application::controllerMap|controllerMap]] <a name="controllerMap"></a>
+#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
 
 Esta propiedad te permite mapear un ID de controlador a una clase de controlador arbitraria. Por defecto, Yii mapea
 ID de controladores a clases de controladores basado en una [convención](#controllerNamespace) (ej. el ID `post` será mapeado
@@ -230,7 +230,7 @@ Las claves de este array representan los ID de los controladores, mientras que l
 los nombres de clase de dichos controladores o una [configuración](concept-configurations.md).
 
 
-#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <a name="controllerNamespace"></a>
+#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <span id="controllerNamespace"></span>
 
 Esta propiedad especifica el `namespace` bajo el cual las clases de los controladores deben ser ubicados. Por defecto es
 `app\controllers`. Si el ID es `post`, por convención el controlador correspondiente (sin
@@ -246,7 +246,7 @@ un error "Page Not Found" ("Página no Encontrada") cuando accedas a la aplicaci
 En caso de que quieras romper con la convención cómo se comenta arriba, puedes configurar la propiedad [controllerMap](#controllerMap).
 
 
-#### [[yii\base\Application::language|language]] <a name="language"></a>
+#### [[yii\base\Application::language|language]] <span id="language"></span>
 
 Esta propiedad especifica el idioma en el cual la aplicación debería mostrar el contenido a los usuarios.
 El valor por defecto de esta propiedad es `en`, referido a English. Deberías configurar esta propiedad
@@ -263,7 +263,7 @@ Por ejemplo, `en` se refiere a English, mientras que `en-US` se refiere a Englis
 Se pueden encontrar más detalles de este aspecto en la sección [Internacionalización](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::modules|modules]] <a name="modules"></a>
+#### [[yii\base\Application::modules|modules]] <span id="modules"></span>
 
 Esta propiedad especifica los [módulos](structure-modules.md) que contiene la aplicación.
 
@@ -288,7 +288,7 @@ los IDs de los módulos. Por ejemplo:
 Por favor consulta la sección [Módulos](structure-modules.md) para más detalles.
 
 
-#### [[yii\base\Application::name|name]] <a name="name"></a>
+#### [[yii\base\Application::name|name]] <span id="name"></span>
 
 Esta propiedad especifica el nombre de la aplicación que será mostrado a los usuarios. Al contrario de
 [[yii\base\Application::id|id]], que debe tomar un valor único, el valor de esta propiedad existe principalmente
@@ -297,7 +297,7 @@ para propósito de visualización y no tiene porqué ser única.
 No siempre necesitas configurar esta propiedad si en tu aplicación no va a ser utilizada.
 
 
-#### [[yii\base\Application::params|params]] <a name="params"></a>
+#### [[yii\base\Application::params|params]] <span id="params"></span>
 
 Esta propiedad especifica un array con parámetros accesibles desde cualquier lugar de tu aplicación.
 En vez de usar números y cadenas fijas por todos lados en tu código, es una buena práctica definirlos como
@@ -323,7 +323,7 @@ Más adelante, si decides cambiar el tamaño de las miniaturas, sólo necesitas 
 sin necesidad de tocar el código que lo utiliza.
 
 
-#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <a name="sourceLanguage"></a>
+#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <span id="sourceLanguage"></span>
 
 Esta propiedad especifica el idioma en el cual la aplicación está escrita. El valor por defecto es `'en-US'`,
 referido a English (United States). Deberías configurar esta propiedad si el contenido de texto en tu código no está en inglés.
@@ -334,7 +334,7 @@ Por ejemplo, `en` se refiere a English, mientras que `en-US` se refiere a Englis
 Puedes encontrar más detalles de esta propiedad en la sección [Internacionalización](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::timeZone|timeZone]] <a name="timeZone"></a>
+#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
 
 Esta propiedad es provista como una forma alternativa de definir el `time zone` de PHP por defecto en tiempo de ejecución.
 Configurando esta propiedad, escencialmente estás llamando a la función de PHP [date_default_timezone_set()](http://php.net/manual/es/function.date-default-timezone-set.php).
@@ -347,25 +347,25 @@ Por ejemplo:
 ```
 
 
-#### [[yii\base\Application::version|version]] <a name="version"></a>
+#### [[yii\base\Application::version|version]] <span id="version"></span>
 
 Esta propiedad especifica la versión de la aplicación. Es por defecto `'1.0'`. No hay total necesidad de configurarla
 si tu no la usarás en tu código.
 
 
-### Propiedades Útiles <a name="useful-properties"></a>
+### Propiedades Útiles <span id="useful-properties"></span>
 
 Las propiedades especificadas en esta sub-sección no son configuradas normalmente ya que sus valores por defecto
 estipulan convenciones comunes. De cualquier modo, aún puedes configurarlas en caso de que quieras romper con la convención.
 
 
-#### [[yii\base\Application::charset|charset]] <a name="charset"></a>
+#### [[yii\base\Application::charset|charset]] <span id="charset"></span>
 
 Esta propiedad especifica el `charset` que la aplicación utiliza. El valor por defecto es `'UTF-8'`, que debería ser mantenido
 tal cual para la mayoría de las aplicaciones a menos que estés trabajando con sistemas legados que utilizan muchos datos no-unicode.
 
 
-#### [[yii\base\Application::defaultRoute|defaultRoute]] <a name="defaultRoute"></a>
+#### [[yii\base\Application::defaultRoute|defaultRoute]] <span id="defaultRoute"></span>
 
 Esta propiedad especifica la [ruta](runtime-routing.md) que una aplicación debería utilizar si el `request`
 no especifica una. La ruta puede consistir el ID de un sub-módulo, el ID de un controlador, y/o el ID de una acción.
@@ -381,7 +381,7 @@ Para [yii\console\Application|aplicaciones de consola], el valor por defecto es 
 sin proveer ningún argumento, mostrará la información de ayuda.
 
 
-#### [[yii\base\Application::extensions|extensions]] <a name="extensions"></a>
+#### [[yii\base\Application::extensions|extensions]] <span id="extensions"></span>
 
 Esta propiedad especifica la lista de [extensiones](structure-extensions.md) que se encuentran instaladas y son utilizadas
 por la aplicación.
@@ -416,7 +416,7 @@ un elemento `bootstrap` puede ser especificado con un nombre de clase o un array
 Una extensión también puede definir algunos [alias](concept-aliases.md).
 
 
-#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
+#### [[yii\base\Application::layout|layout]] <span id="layout"></span>
 
 Esta propiedad especifica el valor del `layout` por defecto que será utilizado al renderizar una [vista](structure-views.md).
 El valor por defecto es `'main'`, y se refiere al archivo `main.php` bajo el [`layout path`](#layoutPath) definido.
@@ -427,7 +427,7 @@ Puedes configurar esta propiedad con el valor `false` si quieres desactivar el `
 caso muy raro.
 
 
-#### [[yii\base\Application::layoutPath|layoutPath]] <a name="layoutPath"></a>
+#### [[yii\base\Application::layoutPath|layoutPath]] <span id="layoutPath"></span>
 
 Esta propiedad especifica el lugar por defecto donde deben buscarse los archivos `layout`. El valor por defecto
 es el sub-directorio `layouts` bajo el [`view path`](#viewPath). Si el [`view path`](#viewPath) usa su valor por defecto,
@@ -436,7 +436,7 @@ el `layout path` puede ser representado con el alias `@app/views/layouts`.
 Puedes configurarlo como un directorio o utilizar un [alias](concept-aliases.md).
 
 
-#### [[yii\base\Application::runtimePath|runtimePath]] <a name="runtimePath"></a>
+#### [[yii\base\Application::runtimePath|runtimePath]] <span id="runtimePath"></span>
 
 Esta propiedad especifica dónde serán guardados los archivos temporales, como archivos de log y de cache, pueden ser generados.
 El valor por defecto de esta propiedad es el alias `@app/runtime`.
@@ -448,13 +448,13 @@ de ser accedido por usuarios finales, ya que los archivos generados pueden tener
 Para simplificar el acceso a este directorio, Yii trae predefinido el alias `@runtime` para él.
 
 
-#### [[yii\base\Application::viewPath|viewPath]] <a name="viewPath"></a>
+#### [[yii\base\Application::viewPath|viewPath]] <span id="viewPath"></span>
 
 Esta propiedad especifica dónde están ubicados los archivos de la vista. El valor por defecto de esta propiedad está
 representado por el alias `@app/views`. Puedes configurarlo como un directorio o utilizar un [alias](concept-aliases.md).
 
 
-#### [[yii\base\Application::vendorPath|vendorPath]] <a name="vendorPath"></a>
+#### [[yii\base\Application::vendorPath|vendorPath]] <span id="vendorPath"></span>
 
 Esta propiedad especifica el directorio `vendor` que maneja [Composer](http://getcomposer.org). Contiene
 todas las librerías de terceros utilizadas por tu aplicación, incluyendo el núcleo de Yii. Su valor por defecto
@@ -466,14 +466,14 @@ asegúrate de ajustar la configuración de Composer en concordancia.
 Para simplificar el acceso a esta ruta, Yii trae predefinido el alias `@vendor`.
 
 
-#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <a name="enableCoreCommands"></a>
+#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <span id="enableCoreCommands"></span>
 
 Esta propiedad está sólo soportada por [[yii\console\Application|aplicaciones de consola]].
 Especifica si los comandos de consola incluidos en Yii deberían estar habilitados o no.
 Por defecto está definido como `true`.
 
 
-## Eventos de la Aplicación <a name="application-events"></a>
+## Eventos de la Aplicación <span id="application-events"></span>
 
 Una aplicación dispara varios eventos durante su ciclo de vida al manejar un `request`. Puedes conectar
 manejadores a dichos eventos en la configuración de la aplicación como se muestra a continuación:
@@ -497,7 +497,7 @@ después de que la instancia de la aplicación es creada. Por ejemplo:
 });
 ```
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <a name="beforeRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <span id="beforeRequest"></span>
 
 Este evento es disparado *before* (antes) de que la aplicación maneje el `request`. El nombre del evento es `beforeRequest`.
 
@@ -507,7 +507,7 @@ Por ejemplo, en el manejador del evento, podrías definir dinámicamente la prop
 basada en algunos parámetros.
 
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_AFTER_REQUEST]] <a name="afterRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_AFTER_REQUEST]] <span id="afterRequest"></span>
 
 Este evento es disparado *after* (después) de que una aplicación finaliza el manejo de un `request` pero *before* (antes) de enviar el `response` (respuesta).
 El nombre del evento es `afterRequest`.
@@ -519,7 +519,7 @@ Ten en cuenta que el componente [[yii\web\Response|response]] también dispara a
 a los usuarios finales. Estos eventos son disparados *after* (después) de este evento.
 
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_ACTION]] <a name="beforeAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_ACTION]] <span id="beforeAction"></span>
 
 Este evento es disparado *before* (antes) de ejecutar cualquier [acción de controlador](structure-controllers.md).
 El nombre de este evento es `beforeAction`.
@@ -545,7 +545,7 @@ seguidos por módulos (si los hubiera), y finalmente controladores. Si un maneja
 como `false`, todos los eventos siguientes NO serán disparados.
 
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_AFTER_ACTION]] <a name="afterAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_AFTER_ACTION]] <span id="afterAction"></span>
 
 Este evento es disparado *after* (después) de ejecutar cualquier [acción de controlador](structure-controllers.md).
 El nombre de este evento es `afterAction`.
@@ -571,7 +571,7 @@ que los de `beforeAction`. Esto quiere decir que los controladores son los prime
 seguido por módulos (si los hubiera), y finalmente aplicaciones.
 
 
-## Ciclo de Vida de una Aplicación <a name="application-lifecycle"></a>
+## Ciclo de Vida de una Aplicación <span id="application-lifecycle"></span>
 
 Cuando un [script de entrada](structure-entry-scripts.md) está siendo ejecutado para manejar un `request`,
 una aplicación experimenta el siguiente ciclo de vida:
diff --git a/docs/guide-es/structure-assets.md b/docs/guide-es/structure-assets.md
index 23510f3..8f3ea95 100644
--- a/docs/guide-es/structure-assets.md
+++ b/docs/guide-es/structure-assets.md
@@ -11,13 +11,13 @@ de tener que buscar los archivos e incluirlos manualmente. Y cuando se actualice
 usará de forma automática la nueva versión de los archivos asset.
 En este tutorial, se describirá la poderosa capacidad que proporciona la gestión de assets en Yii.
 
-## Asset Bundles <a name="asset-bundles"></a>
+## Asset Bundles <span id="asset-bundles"></span>
 
 Yii gestiona los assets en unidades de *asset bundle*. Un asset bundle es simplemente un conjunto de assets
 localizados en un directorio. Cuando se registra un asset bundle en una [vista](structure-views.md), éste incluirá los
 archivos CSS y JavaScript del bundle en la página Web renderizada.
 
-## Definición de Asset Bundles <a name="defining-asset-bundles"></a>
+## Definición de Asset Bundles <span id="defining-asset-bundles"></span>
 
 Los asset bundles son descritos como clases PHP que extienden a [[yii\web\AssetBundle]]. El nombre del bundle es
 simplemente su correspondiente nombre de la classe PHP que debe ser [autocargable](concept-autoloading.md). En una
@@ -89,7 +89,7 @@ A continuación se explicarán más detalladamente las propiedades del [[yii\web
   directorio Web.
 Solo se usa si se especifica la propiedad [[yii\web\AssetBundle::sourcePath|sourcePath]].
 
-### Ubicación de los Assets <a name="asset-locations"></a>
+### Ubicación de los Assets <span id="asset-locations"></span>
 
 Según la localización de los assets, se pueden clasificar como:
 
@@ -118,7 +118,7 @@ fuente, en directorios que no son accesibles para la Web, se tiene que especific
   por defecto por el [[yii\web\AssetManager|asset manager]] para guardar los archivos asset publicados temporalmente y
   pueden ser eliminados.
 
-### Dependencias de los Asset <a name="asset-dependencies"></a>
+### Dependencias de los Asset <span id="asset-dependencies"></span>
 
 Cuando se incluyen múltiples archivos CSS o JavaScript en una página Web, tienen que cumplir ciertas órdenes para
 evitar problemas de sobrescritura. Por ejemplo, si se usa un widget jQuery UI en una página Web, tenemos que
@@ -133,7 +133,7 @@ que los archivos de los dos bundles dependientes.
 Las dependencias son transitivas. Esto significa, que si un bundle A depende de un bundle B que depende de C, A
 dependerá de C, también.
 
-### Opciones de los Assets <a name="asset-options"></a>
+### Opciones de los Assets <span id="asset-options"></span>
 
 Se pueden especificar las propiedades [[yii\web\AssetBundle::cssOptions|cssOptions]] y
 [[yii\web\AssetBundle::jsOptions|jsOptions]] para personalizar la forma en que los archivos CSS y JavaScript serán
@@ -205,7 +205,7 @@ class FontAwesomeAsset extends AssetBundle
 El ejemplo anterior define un asset bundle para el ["fontawesome" package](http://fontawesome.io/). Especificando
 la opción de publicación `beforeCopy`, solo los subdirectorios `fonts` y `css` serán publicados.
 
-### Bower y NPM Assets <a name="bower-npm-assets"></a>
+### Bower y NPM Assets <span id="bower-npm-assets"></span>
 
 La mayoría de paquetes JavaScript/CSS se gestionan con [Bower](http://bower.io/) y/o [NPM](https://www.npmjs.org/).
 Si tu aplicación o extensión usa estos paquetes, se recomienda seguir los siguientes pasos para gestionar los assets en
@@ -223,7 +223,7 @@ Si tu aplicación o extensión usa estos paquetes, se recomienda seguir los sigu
   subdirectorio como valor del [[yii\web\AssetBundle::sourcePath|sourcePath]]. Por ejemplo, [[yii\web\JqueryAsset]]
   usa `@bower/jquery/dist` en vez de `@bower/jquery`.
 
-## Uso de Asset Bundles <a name="using-asset-bundles"></a>
+## Uso de Asset Bundles <span id="using-asset-bundles"></span>
 
 Para usar un asset bundle, debe registrarse con una [vista](structure-views.md) llamando al método
 [[yii\web\AssetBundle::register()]]. Por ejemplo, en plantilla de vista se puede registrar un asset bundle como en el
@@ -249,7 +249,7 @@ los archivos CSS y JavaScript listados en los bundles registrados. El orden de e
 las dependencias entre los bundles registrados y los otros assets listados en las propiedades
 [[yii\web\AssetBundle::css]] y [[yii\web\AssetBundle::js]].
 
-### Personalización de Asset Bundles <a name="customizing-asset-bundles"></a>
+### Personalización de Asset Bundles <span id="customizing-asset-bundles"></span>
 
 Yii gestiona los asset bundles a través de un componente de aplicación llamado `assetManager` que está implementado
 por [[yii\web\AssetManager]]. Configurando la propiedad [[yii\web\AssetManager::bundles]], se puede personalizar el
@@ -311,7 +311,7 @@ return [
 
 Además se pueden deshabilitar *todos* los asset bundles asignando `false` a [[yii\web\AssetManager::bundles]].
 
-### Mapeo de Assets (Asset Mapping) <a name="asset-mapping"></a>
+### Mapeo de Assets (Asset Mapping) <span id="asset-mapping"></span>
 
 A veces se puede querer "arreglar" rutas de archivos incorrectos/incompatibles usadas en múltiples asset bundles.
 Por ejemplo, el bundle A usa `jquery.min.js` con versión 1.11.1, y el bundle B usa `jquery.js` con versión 2.11.1.
@@ -343,7 +343,7 @@ Por ejemplo, un archivo asset `mi/ruta/a/jquery.js` concuerda con la clave `jque
 > Nota: Sólo los assets especificados usando rutas relativas están sujetos al mapeo de assets. Y las rutas de los
 assets destino deben ser tanto URLs absolutas o rutas relativas a [[yii\web\AssetManager::basePath]].
 
-### Publicación de Asset <a name="asset-publishing"></a>
+### Publicación de Asset <span id="asset-publishing"></span>
 
 Como se ha comentado anteriormente, si un asset bundle se encuentra en un directorio que no es accesible por la Web,
 este asset será copiado a un directorio Web cuando se registre el bundle con una vista. Este proceso se llama
@@ -371,7 +371,7 @@ return [
 Con la anterior configuración, el gestor de assets creará un enlace simbólico a la ruta de origen del asset bundle
 cuando éste sea publicado. Esto es más rápido que copiar archivos y también asegura que siempre estén actualizados.
 
-## Los Asset Bundles más Comunes <a name="common-asset-bundles"></a>
+## Los Asset Bundles más Comunes <span id="common-asset-bundles"></span>
 
 El código del núcleo de Yii tiene definidos varios asset bundles. Entre ellos, los siguientes bundles son los más
 usados y pueden referenciarse en códigos de aplicaciones o extensiones.
@@ -389,7 +389,7 @@ Si el código depende de jQuery, jQuery UI o Bootstrap, se pueden usar estos ass
 crear versiones propias. Si la configuración predeterminada de estos bundles no satisface las necesidades, se puede
 personalizar como se describe en la subsección [Personalización de Asset Bundles](#customizing-asset-bundles).
 
-## Conversión de Assets <a name="asset-conversion"></a>
+## Conversión de Assets <span id="asset-conversion"></span>
 
 En lugar de escribir código CSS y/o JavaScript directamente, los desarrolladores a menudo escriben código usando una
 sintaxis extendida y usan herramientas especiales para convertirlos en CSS/JavaScript. Por ejemplo, para código CSS se
@@ -464,7 +464,7 @@ de destino de los archivos asset.
   monitorear y convertir automáticamente los assets de sintaxis extendidas. En este caso, se deben listar los archivos
   CSS/JavaScript resultantes en lugar de los archivos de originales.
 
-## Combinación y Compresión de Assets <a name="combining-compressing-assets"></a>
+## Combinación y Compresión de Assets <span id="combining-compressing-assets"></span>
 
 Una página web puede incluir muchos archivos CSS y/o JavaScript. Para reducir el número de peticiones (requests)
 HTTP y el tamaño total de descarga de estos archivos, una práctica común es combinar y comprimir uno o
@@ -490,7 +490,7 @@ Usando este propuesta, cuando se registre un asset bundle en una vista, se gener
 asset bundle para el grupo al que pertenece el bundle original. Y como resultado, los archivos combinados/comprimidos
 se incluyen en la página, en lugar de los originales.
 
-### Un Example <a name="example"></a>
+### Un Example <span id="example"></span>
 
 Vamos a usar un ejemplo para explicar la propuesta anterior.
 
@@ -566,7 +566,7 @@ return [
 Es decir, el array de configuración del asset bundle se guarda en `asset-prod.php` para el modo de producción, y
 `assets-del.php` para los otros modos.
 
-### Uso del Comando `asset` <a name="using-asset-command"></a>
+### Uso del Comando `asset` <span id="using-asset-command"></span>
 
 Yii proporciona un comando de consola llamado `asset` para automatizar el enfoque descrito.
 
diff --git a/docs/guide-es/structure-controllers.md b/docs/guide-es/structure-controllers.md
index e34f815..b9d1aed 100644
--- a/docs/guide-es/structure-controllers.md
+++ b/docs/guide-es/structure-controllers.md
@@ -8,7 +8,7 @@ los controladores analizarán los datos que entran en el `request`, los pasan a 
 modelos resultantes a las [vistas](structure-views.md), y finalmente generan los `responses` (respuestas) de salida.
 
 
-## Acciones <a name="actions"></a>
+## Acciones <span id="actions"></span>
 
 Los Controladores están compuestos por *acciones* que son las unidades más básicas a las que los usuarios pueden
 dirigirse y solicitar ejecución. Un controlador puede tener una o múltiples acciones.
@@ -62,7 +62,7 @@ el navegador a la acción `view` con el ID del modelo recientemente creado. De o
 la vista `create` a través de la cual el usuario puede completar los campos necesarios.
 
 
-## Routes <a name="routes"></a>
+## Routes <span id="routes"></span>
 
 Los usuarios ejecutan las acciones a través de las llamadas *routes* (rutas). una ruta es una cadena que consiste en las siguientes partes:
 
@@ -88,7 +88,7 @@ será ejecutado. Para más detalles acerca de cómo las son resueltas en accione
 la sección [Routing](runtime-routing.md).
 
 
-## Creando Controladores <a name="creating-controllers"></a>
+## Creando Controladores <span id="creating-controllers"></span>
 
 En [[yii\web\Application|aplicaciones Web]], los controladores deben extender de [[yii\web\Controller]] o cualquier
 clase hija. De forma similar los controladores de [[yii\console\Application|aplicaciones de consola]], deben extender
@@ -105,7 +105,7 @@ class SiteController extends Controller
 ```
 
 
-### IDs de Controladores <a name="controller-ids"></a>
+### IDs de Controladores <span id="controller-ids"></span>
 
 Normalmente, un controlador está diseñado para manejar los `requests` de acuerdo a un tipo de recurso.
 Por esta razón, los IDs de controladores son a menudo sustantivos de los tipos de recurso que están manejando.
@@ -119,7 +119,7 @@ Los guiones en un ID de controlador son utilizados para separar palabras, mientr
 organizar los controladores en sub-directorios.
 
 
-### Nombres de Clases de Controladores <a name="controller-class-naming"></a>
+### Nombres de Clases de Controladores <span id="controller-class-naming"></span>
 
 Los nombres de clases de controladores pueden ser derivados de los IDs de acuerdo a las siguientes reglas:
 
@@ -146,7 +146,7 @@ en `@app/controllers/admin/Post2CommentController.php`.
   tus controladores en varias categorías pero sin utilizar [módulos](structure-modules.md).
 
 
-### Controller Map <a name="controller-map"></a>
+### Controller Map <span id="controller-map"></span>
 
 Puedes configurar [[yii\base\Application::controllerMap|controller map]] (mapeo de controladores) para superar las restricciones
 de los IDs de controladores y sus nombres de clase descritos arriba. Esto es principalmente útil cuando estás utilizando un
@@ -173,7 +173,7 @@ Puedes configurar [[yii\base\Application::controllerMap|controller map]] en la
 ```
 
 
-### Controller por Defecto <a name="default-controller"></a>
+### Controller por Defecto <span id="default-controller"></span>
 
 Cada aplicación tiene un controlador por defecto especificado a través de la propiedad [[yii\base\Application::defaultRoute]].
 Cuando un `request` no especifica una [ruta](#ids-routes), se utilizará la ruta especificada en esta propiedad.
@@ -189,7 +189,7 @@ Puedes cambiar el controlador por defecto con la siguiente [configuración de la
 ```
 
 
-## Creando Acciones <a name="creating-actions"></a>
+## Creando Acciones <span id="creating-actions"></span>
 
 Crear acciones puede ser tan simple como definir un llamado *método de acción* en una clase controlador. Un método de acción es
 un método *public* cuyo nombre comienza con la palabra `action`. El valor de retorno de uno de estos métodos representa
@@ -215,7 +215,7 @@ class SiteController extends Controller
 ```
 
 
-### IDs de Acciones <a name="action-ids"></a>
+### IDs de Acciones <span id="action-ids"></span>
 
 Una acción está a menudo diseñada para realizar una manipulación particular de un recurso. Por esta razón,
 los IDs de acciones son usualmente verbos, como `view` (ver), `update` (actualizar), etc.
@@ -231,7 +231,7 @@ si no tienes intenciones de volver a utilizarlas. Las acciones independientes, p
 creadas para ser reutilizadas en otros controladores o para ser redistribuidas como [extensiones](structure-extensions.md).
 
 
-### Acciones en Línea <a name="inline-actions"></a>
+### Acciones en Línea <span id="inline-actions"></span>
 
 Como acciones en línea nos referimos a acciones que son definidas en términos de métodos como acabamos de describir.
 
@@ -254,7 +254,7 @@ si planeas reutilizar la misma acción en diferentes lugares, o quieres redistri
 deberías considerar definirla como un *acción independiente*.
 
 
-### Acciones Independientes <a name="standalone-actions"></a>
+### Acciones Independientes <span id="standalone-actions"></span>
 
 Las acciones independientes son acciones definidas en términos de clases de acción que extienden de [[yii\base\Action]] o cualquiera de sus clases hijas.
 Por ejemplo, en Yii se encuentran las clases [[yii\web\ViewAction]] y [[yii\web\ErrorAction]], de las cuales ambas son acciones independientes.
@@ -302,7 +302,7 @@ class HelloWorldAction extends Action
 ```
 
 
-### Resultados de Acción <a name="action-results"></a>
+### Resultados de Acción <span id="action-results"></span>
 
 El valor de retorno de una método de acción o del método `run()` de una acción independiente son significativos. Este se refiere
 al resultado de la acción correspondiente.
@@ -329,7 +329,7 @@ public function actionForward()
 ```
 
 
-### Parámetros de Acción <a name="action-parameters"></a>
+### Parámetros de Acción <span id="action-parameters"></span>
 
 Los métodos de acción para acciones en línea y el método `run()` de acciones independientes pueden tomar parámetros,
 llamados *parámetros de acción*. Sus valores son obtenidos del `request`. Para [[yii\web\Application|aplicaciones Web]],
@@ -381,7 +381,7 @@ Los ejemplos de arriba muestran principalmente como funcionan los parámetros de
 por favor consulta la sección [Comandos de Consola](tutorial-console.md) para más detalles.
 
 
-### Acción por Defecto <a name="default-action"></a>
+### Acción por Defecto <span id="default-action"></span>
 
 Cada controlador tiene una acción por defecto especificada a través de la propiedad [[yii\base\Controller::defaultAction]].
 Cuando una [ruta](#ids-routes) contiene sólo el ID del controlador, implica que se está solicitando la acción por defecto
@@ -407,7 +407,7 @@ class SiteController extends Controller
 ```
 
 
-## Ciclo de Vida del Controlador <a name="controller-lifecycle"></a>
+## Ciclo de Vida del Controlador <span id="controller-lifecycle"></span>
 
 Cuando se procesa un `request`, la [aplicación](structure-applications.md) creará un controlador
 basado en la [ruta](#routes) solicitada. El controlador entonces irá a través del siguiente ciclo de vida
@@ -433,7 +433,7 @@ para completar el `request`:
 6. La aplicación tomará el resultado de la acción y lo asignará al [response](runtime-responses.md).
 
 
-## Buenas Prácticas <a name="best-practices"></a>
+## Buenas Prácticas <span id="best-practices"></span>
 
 En una aplicación bien diseñada, los controladores son a menudo muy pequeños con cada acción conteniendo unas pocas líneas de código.
 Si tu controlador se torna muy complejo, es usualmente un indicador de que deberías realizar una refactorización y mover algo de
diff --git a/docs/guide-es/structure-entry-scripts.md b/docs/guide-es/structure-entry-scripts.md
index 171dc3b..972513f 100644
--- a/docs/guide-es/structure-entry-scripts.md
+++ b/docs/guide-es/structure-entry-scripts.md
@@ -23,7 +23,7 @@ El script de entrada principalmente hace los siguientes trabajos:
 * Crear y configurar una instancia de [aplicación](structure-applications.md);
 * Llamar a [[yii\base\Application::run()]] para procesar la petición entrante.
 
-## Aplicaciones Web <a name="web-applications"></a>
+## Aplicaciones Web <span id="web-applications"></span>
 
 El siguiente código es el script de entrada para la [Plantilla de Aplicación web Básica](start-installation.md).
 
@@ -46,7 +46,7 @@ $config = require(__DIR__ . '/../config/web.php');
 (new yii\web\Application($config))->run();
 ```
 
-## Aplicaciones de consola <a name="console-applications"></a>
+## Aplicaciones de consola <span id="console-applications"></span>
 
 De la misma manera, el siguiente código es el script de entrada para la [aplicación de consola](tutorial-console.md):
 
@@ -81,7 +81,7 @@ $exitCode = $application->run();
 exit($exitCode);
 ```
 
-## Definición de Constantes <a name="defining-constants"></a>
+## Definición de Constantes <span id="defining-constants"></span>
 
 El script de entrada es el mejor lugar para definir constantes globales. Yii soporta las siguientes tres constantes:
 
diff --git a/docs/guide-es/structure-extensions.md b/docs/guide-es/structure-extensions.md
index b77d78f..8ce45db 100644
--- a/docs/guide-es/structure-extensions.md
+++ b/docs/guide-es/structure-extensions.md
@@ -11,7 +11,7 @@ proceso de desarrollo. También se puede empaquetar código propio para comparti
   propósitos generales los paquetes de software pueden usarse sin Yii, nos referiremos a ellos usando los términos
   "paquetes" (package) o "librerías" (library).
 
-## Uso de Extensiones <a name="using-extensions"></a>
+## Uso de Extensiones <span id="using-extensions"></span>
 
 Para usar una extension, primero tenemos que instalarla. La mayoría de extensiones se usan como paquetes
 [Composer](https://getcomposer.org/) que se pueden instalar mediante los dos simples siguientes pasos:
@@ -71,7 +71,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 > Información: Las clases de extensiones se cargan automáticamente gracias a
   [autocarga de clases de Yii](concept-autoloading.md).
 
-### Instalación Manual de Extensiones <a name="installing-extensions-manually"></a>
+### Instalación Manual de Extensiones <span id="installing-extensions-manually"></span>
 
 En algunas ocasiones excepcionales es posible que tengamos que instalar alguna o todas las extensiones manualmente, en lugar de utilizar Composer. Para lograrlo, debemos:
 
@@ -96,7 +96,7 @@ aplicación:
 ]
 ```
 
-## Creación de Extensiones <a name="creating-extensions"></a>
+## Creación de Extensiones <span id="creating-extensions"></span>
 
 Podemos considerar la creación de una extensión cuando tengamos la necesidad de compartir nuestro código. Cada
 extensión puede contener el código que se desee, puede ser una clase de ayuda (helper class), un widget, un módulo,
@@ -115,7 +115,7 @@ Más adelante se encuentran los pasos básicos que deben seguirse para crear una
 3. Registrar la extensión en un repositorio de Composer como puede ser [Packagist](https://packagist.org/), para que
    los otros usuarios puedan encontrarlo e instalarla mediante Composer.
 
-### `composer.json` <a name="composer-json"></a>
+### `composer.json` <span id="composer-json"></span>
 
 Cada paquete de Composer tiene que tener un archivo `composer.json` en su directorio raíz. El archivo contiene los
 metadatos relacionados con el paquete. Se pueden encontrar especificaciones completas acerca de este fichero en el
@@ -162,7 +162,7 @@ muestra el archivo `composer.json` para la extensión `yiisoft/yii2-imagine`:
 }
 ```
 
-#### Nombre del Paquete<a name="package-name"></a>
+#### Nombre del Paquete<span id="package-name"></span>
 
 Cada paquete Composer debe tener un nombre de paquete que identifique de entre todos los otros paquetes. El formato
 del nombre del paquete es `nombreProveedor/nombreProyecto`. Por ejemplo, el nombre de paquete `yiisoft/yii2-imagine`,
@@ -175,7 +175,7 @@ Recomendamos usar el prefijo `yii2-` al nombre del proyecto para paquetes que re
 ejemplo, `minombre/yii2-miwidget`. Esto permite ver a los usuarios más fácilmente si un paquete es una extensión de
 Yii 2.
 
-#### Tipo de Paquete <a name="package-type"></a>
+#### Tipo de Paquete <span id="package-type"></span>
 
 Es importante que se especifique el tipo del paquete de la extensión como `yii2-extension` para que el paquete pueda
 ser reconocido como una extensión de Yii cuando se esté instalando.
@@ -185,7 +185,7 @@ se actualizará automáticamente para incluir la información acerca de la nueva
 aplicaciones Yii pueden saber que extensiones están instaladas. (se puede acceder a esta información mediante
 [[yii\base\Application::extensions]]).
 
-#### Dependencias <a name="dependencies"></a>
+#### Dependencias <span id="dependencies"></span>
 
 La extensión depende de Yii (por supuesto). Por ello se debe añadir (`yiisoft/yii2`) a la lista en la entrada
 `required` del archivo `composer.json`. Si la extensión también depende de otras extensiones o de terceras
@@ -216,7 +216,7 @@ referencia a estos dos directorios usando los alias `@bower/NombrePaquete` and `
 Para obtener más detalles acerca de la gestión de assets, puede hacerse referencia a la sección
 [Assets](structure-assets.md#bower-npm-assets).
 
-#### Autocarga de Clases <a name="class-autoloading"></a>
+#### Autocarga de Clases <span id="class-autoloading"></span>
 
 Para que se aplique la autocarga a clases propias mediante la autocarga de clases de Yii o la autocarga de clases de
 Composer, debemos especificar la entrada `autoload` en el archivo `composer.json` como se puede ver a continuación:
@@ -239,13 +239,13 @@ Cuando se instala la extensión en una aplicación, Yii creara un [alias](concep
 todos los namespaces raíz, que harán referencia al directorio correspondiente del namespace. Por ejemplo, la anterior
 declaración `autoload` corresponderá a un alias llamado `@yii/imagine`.
 
-### Prácticas Recomendadas <a name="recommended-practices"></a>
+### Prácticas Recomendadas <span id="recommended-practices"></span>
 
 Dado que las extensiones están destinadas a ser utilizadas por otras personas, a menudo es necesario hacer un esfuerzo
 extra durante el desarrollo. A continuación presentaremos algunas practicas comunes y recomendadas para la creación de
 extensiones de alta calidad.
 
-#### Namespaces <a name="namespaces"></a>
+#### Namespaces <span id="namespaces"></span>
 
 Para evitar colisiones de nombres y permitir que las clases usen la autocarga en extensiones propias, se deben usar
 namespaces y nombres de clase siguiendo el [estándar PSR-4](http://www.php-fig.org/psr/psr-4/) o el
@@ -258,7 +258,7 @@ similar al nombre del paquete pero este no debe contener el prefijo `yii2-`. Por
 No se puede usar `yii`, `yii2` o `yiisoft` como nombre de proveedor. Estos nombres están reservados para usarse en el
 código del núcleo de Yii.
 
-#### Clases de Bootstrapping <a name="bootstrapping-classes"></a>
+#### Clases de Bootstrapping <span id="bootstrapping-classes"></span>
 
 A veces, se puede querer que nuestras extensiones ejecuten algo de código durante el
 [proceso de bootstrapping](runtime-bootstrapping.md) de una aplicación. Por ejemplo, queremos que nuestra extensión
@@ -302,7 +302,7 @@ a continuación,
 Cuando se instala la extensión en la aplicación, Yii automáticamente instancia la clase de bootstrapping y llama a su
 método [[yii\base\BootstrapInterface::bootstrap()|bootstrap()]] durante el proceso de bootstrapping para cada petición.
 
-#### Trabajar con Bases de Datos<a name="working-with-databases"></a>
+#### Trabajar con Bases de Datos<span id="working-with-databases"></span>
 
 Puede darse el caso en que la extensión necesite acceso a bases de datos. No se debe asumir que las aplicaciones que
 usen la extensión siempre usarán `Yii::$db` como conexión de BBDD. Se debe crear una propiedad `db` para las clases
@@ -317,7 +317,7 @@ Si nuestra extensión necesita crear tablas especificas en la BBDD o hacer cambi
 - intentar hacer las migraciones aplicables a varios Sistemas de Gestión de BBDD;
 - evitar usar [Active Record](db-active-record.md) en las migraciones.
 
-#### Uso de Assets <a name="using-assets"></a>
+#### Uso de Assets <span id="using-assets"></span>
 
 Si nuestra aplicación es un widget o un módulo, hay posibilidades de que requiera [assets](structure-assets.md) para
 poder funcionar. Por ejemplo, un modulo puede mostrar algunas páginas de que contengan archivos JavaScript y/o CSS.
@@ -331,7 +331,7 @@ se instalan en una aplicación, hay dos maneras de hacer los assets accesibles v
 Recomendamos el uso de la segunda propuesta para que la extensión sea más fácil de usar para usuarios. Se puede hacer
 referencia a la sección [Assets](structure-assets.md) para encontrar más detalles acerca de como trabajar con ellos.
 
-#### Internacionalización y Localización <a name="i18n-l10n"></a>
+#### Internacionalización y Localización <span id="i18n-l10n"></span>
 
 Puede que las extensiones propias se usen en aplicaciones que den soporte a diferentes idiomas! Por ello, si nuestra
 extensión muestra contenido a los usuarios finales, se debe intentar [internacionalizar y localizar](tutorial-i18n.md)
@@ -345,7 +345,7 @@ la extensión. En particular,
 
 Se pueden encontrar más detalles en la sección [internacionalización](tutorial-i18n.md).
 
-#### Testing <a name="testing"></a>
+#### Testing <span id="testing"></span>
 
 Para conseguir que las aplicaciones propias se ejecuten sin problemas y no causen problemas a otros usuarios, deben
 ejecutarse test a las extensiones antes de ser publicadas al público.
@@ -356,12 +356,12 @@ de prueba para asegurarnos de que todo está correcto. Yii proporciona soporte p
 pruebas unitarias (unit tests), pruebas de aceptación (acceptance tests) y pruebas de funcionalidad
 (functionality tests), más fácilmente. Se pueden encontrar más detalles en la sección [Testing](test-overview.md).
 
-#### Versiones <a name="versioning"></a>
+#### Versiones <span id="versioning"></span>
 
 Se debe asignar un número de versión cada vez que se lance una nueva distribución. (ej. `1.0.1`). Recomendamos
 seguir la práctica [Versionamiento Semántico](http://semver.org/lang/es/) para determinar que números se deben usar.
 
-#### Lanzamientos <a name="releasing"></a>
+#### Lanzamientos <span id="releasing"></span>
 
 Para dar a conocer nuestra extensión a terceras personas, debemos lanzara al público.
 
@@ -395,7 +395,7 @@ mencionados a continuación para facilitar a otra gente el uso de nuestra extens
   [estilo de código del núcleo del framework](https://github.com/yiisoft/yii2/wiki/Core-framework-code-style) para
   obtener más detalles.
 
-## Extensiones del Núcleo <a name="core-extensions"></a>
+## Extensiones del Núcleo <span id="core-extensions"></span>
 
 Yii proporciona las siguientes extensiones del núcleo que son desarrolladas y mantenidas por el equipo de desarrollo
 de Yii. Todas ellas están registradas en [Packagist](https://packagist.org/) y pueden ser instaladas fácilmente como
diff --git a/docs/guide-es/structure-filters.md b/docs/guide-es/structure-filters.md
index 28b8537..1cc4bb6 100644
--- a/docs/guide-es/structure-filters.md
+++ b/docs/guide-es/structure-filters.md
@@ -10,7 +10,7 @@ ser enviado al usuario final.
 Un filtro puede consistir en un pre-filtro (lógica de filtrado aplicada *antes* de las acciones) y/o un post-filtro 
 (lógica de filtro aplicada *después* de las acciones).
 
-## Uso de Filtros <a name="using-filters"></a>
+## Uso de Filtros <span id="using-filters"></span>
 
 Los filtros son esencialmente un tipo especial de [comportamientos (behaviors)](concept-behaviors.md).
 Por lo tanto, usar filtros es lo mismo que [uso de comportamientos](concept-behaviors.md#attaching-behaviors). Se 
@@ -65,7 +65,7 @@ Cuando se configuran múltiples filtros para una misma acción, se aplican de ac
     - Aplica los filtros declarados en el modulo en orden inverso al de aparición en `behaviors()`.
     - Aplica los filtros declarados en la aplicación en orden inverso al de aparición en `behaviors()`.
 
-##Creación de Filtros <a name="creating-filters"></a>
+##Creación de Filtros <span id="creating-filters"></span>
 
 Para crear un nuevo filtro de acción, hay que extender a [[yii\base\ActionFilter]] y sobrescribir los métodos 
 [[yii\base\ActionFilter::beforeAction()|beforeAction()]] y/o [[yii\base\ActionFilter::afterAction()|afterAction()]]. 
@@ -100,12 +100,12 @@ class ActionTimeFilter extends ActionFilter
 }
 ```
 
-## Filtros del Núcleo <a name="core-filters"></a>
+## Filtros del Núcleo <span id="core-filters"></span>
 
 Yii proporciona una serie de filtros de uso general, que se encuentran principalmente en `yii\filters` namespace. En 
 adelante introduciremos estos filtros brevemente.
 
-### [[yii\filters\AccessControl|AccessControl]] <a name="access-control"></a>
+### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
 
 AccessControl proporciona control de acceso simple basado en un conjunto de [[yii\filters\AccessControl::rules|rules]].
 En concreto, antes de ejecutar una acción, AccessControl examinará la lista de reglas y encontrará la primera que 
@@ -142,7 +142,7 @@ public function behaviors()
 Para conocer más detalles acerca del control de acceso en general, refiérase a la sección de 
 [Autorización](security-authorization.md)
 
-### Filtros del Método de Autenticación <a name="auth-method-filters"></a>
+### Filtros del Método de Autenticación <span id="auth-method-filters"></span>
 
 Los filtros del método de autenticación se usan para autenticar a un usuario utilizando varios métodos, tales como la 
 [Autenticación de acceso básico HTTP](http://es.wikipedia.org/wiki/Autenticaci%C3%B3n_de_acceso_b%C3%A1sica), 
@@ -230,7 +230,7 @@ use yii\web\Response;
   será utilizando el primer elemento de formato e idioma de la lista [[formats]] y [[lenguages]].
 
 
-### [[yii\filters\HttpCache|HttpCache]] <a name="http-cache"></a>
+### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
 
 HttpCache implementa un almacenamiento caché del lado del cliente utilizando las cabeceras HTTP 'Last-Modified' y 
 'Etag'. Por ejemplo:
@@ -255,7 +255,7 @@ public function behaviors()
 
 Para conocer más detalles acerca de HttpCache refiérase a la sección [almacenamiento caché HTTP](caching-http.md).
 
-### [[yii\filters\PageCache|PageCache]] <a name="page-cache"></a>
+### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
 
 PageCache implementa una caché por parte del servidor de paginas enteras. En el siguiente ejemplo, se aplica PageCache 
 a la acción 'index' para generar una cache de la pagina entera durante 60 segundos como máximo o hasta que el contador 
@@ -287,14 +287,14 @@ public function behaviors()
 
 Por favor refiérase a [Caché de Páginas](caching-page.md) para obtener más detalles acerca de como usar PageCache.
 
-### [[yii\filters\RateLimiter|RateLimiter]] <a name="rate-limiter"></a>
+### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
 
 RateLimiter implementa un algoritmo de para limitar la tasa de descarga basándose en 
 (leaky bucket algorithm)[http://en.wikipedia.org/wiki/Leaky_bucket]. Este se utiliza sobre todo en la implementación 
 de APIs RESTful. Por favor, refiérase a la sección (limite de tasa)[rest-rate-limiting.md] para obtener más detalles 
 acerca de el uso de este filtro.
 
-### [[yii\filters\VerbFilter|VerbFilter]] <a name="verb-filter"></a>
+### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
 
 VerbFilter comprueba que los métodos de las peticiones HTTP estén permitidas para las acciones solicitadas. Si no 
 están permitidas, lanzara una excepción de tipo HTTP 405. En el siguiente ejemplo, se declara VerbFilter para 
@@ -320,7 +320,7 @@ public function behaviors()
 }
 ```
 
-### [[yii\filters\Cors|Cors]] <a name="cors"></a>
+### [[yii\filters\Cors|Cors]] <span id="cors"></span>
 
 (CORS)[https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS] es un mecanismo que permite a diferentes 
 recursos (por ejemplo: fuentes, JavaScript, etc) de una pagina Web ser solicitados por otro dominio diferente al 
diff --git a/docs/guide-es/structure-models.md b/docs/guide-es/structure-models.md
index 8185af8..0cd0c4c 100644
--- a/docs/guide-es/structure-models.md
+++ b/docs/guide-es/structure-models.md
@@ -22,7 +22,7 @@ La clase 'modelo' también es una base para modelos más avanzados, tales como [
   componentes de Yii construidos para dar soporte a [[yii\base\Model]], por lo general, es la clase base preferible 
   para un modelo.
 
-### Atributos <a name="attributes"></a>
+### Atributos <span id="attributes"></span>
 
 Los modelos representan los datos de negocio en términos de *atributos*. Cada atributos es como una propiedad 
 públicamente accesible de un modelo. El método [[yii\base\Model::attributes()]] especifica qué atributos tiene la 
@@ -55,7 +55,7 @@ foreach ($model as $name => $value) {
 }
 ```
 
-### Definir Atributos <a name="defining-attributes"></a>
+### Definir Atributos <span id="defining-attributes"></span>
 
 Por defecto, si un modelo extiende directamente a [[yii\base\Model]], todas sus variables miembro no estáticas son 
 atributos. Por ejemplo, la siguiente clase modelo 'ContactForm' tiene cuatro atributos: 'name', 'email', 'subject', 
@@ -81,7 +81,7 @@ de las columnas de la tabla de la base de datos asociada como el nombre de sus a
 también puede necesitar sobrescribir los métodos mágicos como `__get()`, `__set()` de modo que se puede acceder a los 
 atributos como a propiedades de objetos normales.
 
-### Etiquetas de atributo <a name="attribute-labels"></a>
+### Etiquetas de atributo <span id="attribute-labels"></span>
 
 Cuando se muestran valores o se obtienen entradas para atributos, normalmente se necesita mostrar etiquetas asociadas 
 a los atributos. Por ejemplo, dado un atributo con nombre 'segundoApellido', es posible que se quiera mostrar la 
@@ -149,7 +149,7 @@ que se esta usando el modelo, se pueden devolver diferentes etiquetas para un mi
 > Información: Estrictamente hablando, los atributos son parte de las [vistas](structure-views.md). Pero declarar las 
   etiquetas en los modelos, a menudo, es muy conveniente y puede generar a un código muy limpio y reutilizable.
 
-## Escenarios <a name="scenarios"></a>
+## Escenarios <span id="scenarios"></span>
 
 Un modelo puede usarse en diferentes *escenarios*. Por ejemplo, un modelo 'Usuario', puede ser utilizado para recoger 
 entradas de inicio de sesión de usuarios, pero también puede usarse para generar usuarios. En diferentes escenarios, 
@@ -224,7 +224,7 @@ La característica escenario se usa principalmente en las [validaciones](#valida
 [asignación masiva de atributos](#massive-assignment). Aunque también se puede usar para otros propósitos. Por 
 ejemplo, se pueden declarar [etiquetas de atributo](#attribute-labels) diferentes basándose en el escenario actual.
 
-## Reglas de Validación <a name="validation-rules"></a>
+## Reglas de Validación <span id="validation-rules"></span>
 
 Cuando un modelo recibe datos del usuario final, estos deben ser validados para asegurar que cumplan ciertas reglas 
 (llamadas *reglas de validación*, también conocidas como *reglas de negocio*). Por ejemplo, dado un modelo 
@@ -294,7 +294,7 @@ Si no se especifica la propiedad 'on', la regla se aplicará en todos los escena
 Un atributo será validado si y sólo si es un atributo activo declarado en 'scenarios()' y esta asociado con una o más 
 reglas activas declaradas en 'rules()'.
 
-## Asignación Masiva <a name="massive-assignment"></a>
+## Asignación Masiva <span id="massive-assignment"></span>
 
 La asignación masiva es una buena forma de rellenar los atributos de un modelo con las entradas de usuario en una 
 única línea de código. Rellena los atributos de un modelo asignando los datos de entrada directamente a las 
@@ -316,7 +316,7 @@ $model->subject = isset($data['subject']) ? $data['subject'] : null;
 $model->body = isset($data['body']) ? $data['body'] : null;
 ```
 
-### Atributos Seguros <a name="safe-attributes"></a>
+### Atributos Seguros <span id="safe-attributes"></span>
 
 La asignación masiva sólo se aplica a los llamados *atributos seguros* qué son los atributos listados en 
 [[yii\base\Model::scenarios()]] para el actual [[yii\base\Model::scenario|scenario]] del modelo. Por ejemplo, si en el 
@@ -355,7 +355,7 @@ public function rules()
 }
 ```
 
-### Atributos Inseguros <a name="unsafe-attributes"></a>
+### Atributos Inseguros <span id="unsafe-attributes"></span>
 
 Como se ha descrito anteriormente, el método [[yii\base\Model::scenarios()]] sirve para dos propósitos: determinar qué 
 atributos deben ser validados y determinar qué atributos son seguros. En situaciones poco comunes, se puede querer 
@@ -379,7 +379,7 @@ que hacer explícitamente como en el ejemplo:
 $model->secret = $secret;
 ```
 
-## Exportación de Datos <a name="data-exporting"></a>
+## Exportación de Datos <span id="data-exporting"></span>
 
 A menudo necesitamos exportar modelos a diferentes formatos. Por ejemplo, se puede querer convertir un conjunto de 
 modelos a formato JSON o Excel. El proceso de exportación se puede dividir en dos pasos independientes. En el primer 
@@ -403,7 +403,7 @@ elementos de datos, llamados *campos*, queremos poner en el array resultante y e
 hecho, es la manera por defecto de exportar modelos en desarrollo de servicios Web RESTful, tal y como se describe en 
 [Formatos de Respuesta](rest-response-formatting.md).
 
-### Campos <a name="fields"></a>
+### Campos <span id="fields"></span>
 
 Un campo es simplemente un elemento nombrado en el array resultante de ejecutar el método [[yii\base\Model::toArray()]]
  de un modelo.
@@ -464,7 +464,7 @@ examinar los datos para asegurar que no contienen información sensible. Si exis
 sobrescribir 'fields()' para filtrarla. En el anterior ejemplo, se filtra 'aut_key', 'password_hash' y 
 'password_reset_token'.
 
-## Mejores Prácticas <a name="best-practices"></a>
+## Mejores Prácticas <span id="best-practices"></span>
 
 Los modelos son los lugares centrales para representar datos de negocio, reglas y lógica. Estos a menudo necesitan ser 
 reutilizados en diferentes lugares. En una aplicación bien diseñada, los modelos normalmente son más grandes que los 
diff --git a/docs/guide-es/structure-modules.md b/docs/guide-es/structure-modules.md
index 69066b3..9d191d6 100644
--- a/docs/guide-es/structure-modules.md
+++ b/docs/guide-es/structure-modules.md
@@ -7,7 +7,7 @@ finales pueden acceder a los controladores de un módulo cuando éste está inst
 mini-aplicaciones. Los módulos difieren de las [aplicaciones](structure-applications.md) en que los módulos no pueden 
 ser desplegados solos y tienen que residir dentro de aplicaciones.
 
-## Creación de Módulos<a name="creating-modules"></a>
+## Creación de Módulos<span id="creating-modules"></span>
 
 Un módulo está organizado de tal manera que contiene un directorio llamado [[yii\base\Module::basePath|base path]] del 
 módulo. Dentro de este directorio, hay subdirectorios tales como 'controllers', 'models', 'views', que contienen 
@@ -26,7 +26,7 @@ forum/
             index.php            archivo de vista del index
 ```
 
-### Clases Módulo <a name="module-classes"></a>
+### Clases Módulo <span id="module-classes"></span>
 
 Cada módulo debe tener una única clase módulo que extiende a [[yii\base\Module]]. La clase debe encontrarse 
 directamente debajo del [[yii\base\Module::basePath|base path]] y debe ser [autocargable](concept-autoloading.md). 
@@ -78,7 +78,7 @@ return [
 ];
 ```
 
-### Controladores en Módulos <a name="controllers-in-modules"></a>
+### Controladores en Módulos <span id="controllers-in-modules"></span>
 
 Cuando se crean controladores en un modelo, una convención es poner las clases controlador debajo del sub-espacio de 
 nombres de ‘controllers’ del espacio de nombres de la clase módulo. Esto también significa que los archivos de la 
@@ -102,7 +102,7 @@ Se puede personalizar el espacio de nombres de las clases controlador configuran
 nombres, se puede hacer accesible configurando la propiedad [[yii\base\Module::controllerMap]], similar a 
 [como se hace en una aplicación](structure-applications.md#controller-map).
 
-### Vistas en Módulos <a name="views-in-modules"></a>
+### Vistas en Módulos <span id="views-in-modules"></span>
 
 Las vistas en un módulo deben alojarse en el directorio ‘views’ dentro del módulo del 
 [[yii\base\Module::basePath|base path]]. Las vistas renderizadas por un controlador en el módulo, deben alojarse en el 
@@ -115,7 +115,7 @@ controladores del módulo. El layout debe alojarse en el directorio ‘views/lay
 la propiedad [[yii\base\Module::layout]] para apuntar al nombre del layout. Si no se configura la propiedad ‘layout’, 
 se usar el layout de la aplicación.
 
-## Uso de los Módulos <a name="using-modules"></a>
+## Uso de los Módulos <span id="using-modules"></span>
 
 Para usar un módulo en una aplicación, simplemente se tiene que configurar la aplicación añadiendo el módulo en la 
 propiedad [[yii\base\Application::modules|modules]] de la aplicación. El siguiente ejemplo de la 
@@ -136,7 +136,7 @@ La propiedad [[yii\base\Application::modules|modules]] contiene un array de conf
 array representa un *ID de módulo* que identifica de forma única el módulo de entre todos los módulos de la 
 aplicación, y el correspondiente valor del array es la [configuración](concept-configurations.md) para crear el módulo.
 
-### Rutas <a name="routes"></a>
+### Rutas <span id="routes"></span>
 
 De Igual manera que el acceso a los controladores en una aplicación, las [rutas](structure-controllers.md#routes) se 
 utiliza para dirigirse a los controladores en un módulo. Una ruta para un controlador dentro de un módulo debe empezar 
@@ -146,7 +146,7 @@ módulo. Si la ruta sólo contiene el ID del módulo, entonces la propiedad [[yi
 defecto es ‘default’, determinara que controlador/acción debe usarse. Esto significa que la ruta ‘forum’ representaría 
 el controlador ‘default’ en el módulo ‘forum’.
 
-### Acceder a los Módulos <a name="accessing-modules"></a>
+### Acceder a los Módulos <span id="accessing-modules"></span>
 
 Dentro de un módulo, se puede necesitar obtener la instancia de la [clase módulo](#module-classes) para poder acceder 
 al ID del módulo, componentes del módulo, etc. Se puede hacer usando la siguiente declaración:
@@ -185,7 +185,7 @@ ejemplo:
 $maxPostCount = $module->params['maxPostCount'];
 ```
 
-### Bootstrapping Módulos <a name="bootstrapping-modules"></a>
+### Bootstrapping Módulos <span id="bootstrapping-modules"></span>
 
 Puede darse el caso en que necesitemos que un módulo se ejecute en cada petición. El módulo [[yii\debug\Module|debug]] 
 es un ejemplo. Para hacerlo, tenemos que listar los IDs de los módulos en la propiedad 
@@ -205,7 +205,7 @@ Por ejemplo, la siguiente configuración de aplicación se asegura de que el mó
 ]
 ```
 
-## Módulos anidados <a name="nested-modules"></a>
+## Módulos anidados <span id="nested-modules"></span>
 
 Los módulos pueden ser anidados sin límite de niveles. Es decir, un módulo puede contener un módulo y éste a la vez 
 contener otro módulo. Nombramos *padre* al primero mientras que al segundo lo nombramos *hijo*. Los módulos hijo se 
@@ -238,7 +238,7 @@ ejemplo, la ruta ‘forum/admin/dashboard/index’ representa la acción ‘inde
 directamente a su padre. La propiedad [[yii\base\Application::loadedModules]] contiene una lista de los módulos 
 cargados, incluyendo los hijos directos y los anidados, indexados por sus nombres de clase.
 
-## Mejores Prácticas <a name="best-practices"></a>
+## Mejores Prácticas <span id="best-practices"></span>
 
 Es mejor usar los módulos en grandes aplicaciones en las que sus funcionalidades puedan ser divididas en diferentes 
 grupos, cada uno compuesto por funcionalidades directamente relacionadas. Cada grupo de funcionalidades se puede 
diff --git a/docs/guide-es/structure-views.md b/docs/guide-es/structure-views.md
index 83dd2e5..6d2ee00 100644
--- a/docs/guide-es/structure-views.md
+++ b/docs/guide-es/structure-views.md
@@ -6,7 +6,7 @@ Estas son el código responsable de presentar los datos al usuario final. En una
 Son manejadas por el componente de la aplicación [[yii\web\View|view]], el cual provee métodos comúnmente utilizados para facilitar la composición y el renderizado de las mismas. Por simplicidad, a menudo las llamamos *templates* o *archivos de templates*.
 
 
-## Creando Vistas <a name="creating-views"></a>
+## Creando Vistas <span id="creating-views"></span>
 
 Como fue mencionado, una vista es simplemente un archivo PHP que mezcla código PHP y HTML. La siguiente es una vista que muestra un formulario de login. Como puedes ver, el código PHP utilizado es para generar contenido dinámico, como el título de la página y el formulario mismo, mientras que el código HTML organiza estos elementos en una página HTML mostrable.
 
@@ -39,7 +39,7 @@ Además de `$this`, puede haber otras variables predefinidas en una vista, como 
 > Tip: La lista de variables predefinidas están listadas en un bloque de comentario al principio de la vista así pueden ser reconocidas por las IDEs. Esto es también una buena manera de documentar tus propias vistas.
 
 
-### Seguridad <a name="security"></a>
+### Seguridad <span id="security"></span>
 
 Al crear vistas que generan páginas HTML, es importante que codifiques (encode) y/o filtres los datos provenientes de los usuarios antes de mostrarlos. De otro modo, tu aplicación puede estar expuesta a ataques tipo [cross-site scripting](http://es.wikipedia.org/wiki/Cross-site_scripting).
 
@@ -70,7 +70,7 @@ use yii\helpers\HtmlPurifier;
 > Tip: Aunque HTMLPurifier hace un excelente trabajo al hacer la salida más segura, no es rápido. Deberías considerar utilizar [caching](caching-overview.md) al resultado de aplicar el filtro si tu aplicación requiere un gran desempeño (performance).
 
 
-### Organizando Vistas <a name="organizing-views"></a>
+### Organizando Vistas <span id="organizing-views"></span>
 
 Así como en [controladores](structure-controllers.md) y [modelos](structure-models.md), existen convenciones para organizar las vistas.
 
@@ -81,7 +81,7 @@ Así como en [controladores](structure-controllers.md) y [modelos](structure-mod
 Puedes personalizar estos directorios por defecto sobrescribiendo el método [[yii\base\ViewContextInterface::getViewPath()]] en el controlador o widget necesario.
 
 
-## Renderizando Vistas <a name="rendering-views"></a>
+## Renderizando Vistas <span id="rendering-views"></span>
 
 Puedes renderizar vistas desde [controllers](structure-controllers.md), [widgets](structure-widgets.md), o cualquier otro lugar llamando a los métodos de renderización de vistas. Estos métodos comparten una firma similar, como se muestra a continuación:
 
@@ -95,7 +95,7 @@ methodName($view, $params = [])
 ```
 
 
-### Renderizando en Controladores <a name="rendering-in-controllers"></a>
+### Renderizando en Controladores <span id="rendering-in-controllers"></span>
 
 Dentro de los [controladores](structure-controllers.md), puedes llamar al siguiente método del controlador para renderizar una vista:
 
@@ -132,7 +132,7 @@ class PostController extends Controller
 ```
 
 
-### Renderizando en Widgets <a name="rendering-in-widgets"></a>
+### Renderizando en Widgets <span id="rendering-in-widgets"></span>
 
 Dentro de [widgets](structure-widgets.md), puedes llamar a cualquier de los siguientes métodos de widget para renderizar una vista.
 
@@ -162,7 +162,7 @@ class ListWidget extends Widget
 ```
 
 
-### Renderizando en Vistas <a name="rendering-in-views"></a>
+### Renderizando en Vistas <span id="rendering-in-views"></span>
 
 Puedes renderizar una vista dentro de otra vista llamando a algunos de los siguientes métodos provistos por el [[yii\base\View|componente view]]:
 
@@ -177,7 +177,7 @@ Por ejemplo, el siguiente código en una vista renderiza el template `_overview.
 ```
 
 
-### Renderizando en Otros Lugares <a name="rendering-in-other-places"></a>
+### Renderizando en Otros Lugares <span id="rendering-in-other-places"></span>
 
 En cualquier lugar, puedes tener acceso al componente [[yii\base\View|view]] utilizando la expresión
 `Yii::$app->view` y entonces llamar a los métodos previamente mencionados para renderizar una vista. Por ejemplo:
@@ -188,7 +188,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 ```
 
 
-### Vistas Nombradas <a name="named-views"></a>
+### Vistas Nombradas <span id="named-views"></span>
 
 Cuando renderizas una vista, puedes especificar el template utilizando tanto el nombre de la vista o la ruta/alias al archivo. En la mayoría de los casos, utilizarías la primera porque es más concisa y flexible. *Vistas nombradas* son vistas especificadas mediante un nombre en vez de una ruta al archivo o alias.
 
@@ -204,7 +204,7 @@ Por ejemplo, `//site/about` será resuelto como `@app/views/site/about.php`.
 
 De acuerdo a las reglas mencionadas, al llamar a `$this->render('view')` en el controlador `app\controllers\PostController` se renderizará el template `@app/views/post/view.php`, mientras que llamando a `$this->render('_overview')` en la vista renderizará el template `@app/views/post/_overview.php`.
 
-### Accediendo a Datos en la Vista <a name="accessing-data-in-views"></a>
+### Accediendo a Datos en la Vista <span id="accessing-data-in-views"></span>
 
 Hay dos modos posibles de acceder a los datos en la vista: push (inyectar) y pull (traer).
 
@@ -226,7 +226,7 @@ El ID del controlador es: <?= $this->context->id ?>
 
 Para acceder a datos en la vista, normalmente se prefiere el modo push, ya que hace a la vista menos dependiente de los objetos del contexto. La contra es que tienes que construir el array manualmente cada vez, lo que podría volverse tedioso y propenso al error si la misma vista es compartida y renderizada desde diferentes lugares.
 
-### Compartiendo Datos Entre las Vistas <a name="sharing-data-among-views"></a>
+### Compartiendo Datos Entre las Vistas <span id="sharing-data-among-views"></span>
 
 El [[yii\base\View|componente view]] provee la propiedad [[yii\base\View::params|params]] para que puedas compartir datos entre diferentes vistas.
 
@@ -245,12 +245,12 @@ Entonces, en el archivo del [layout](#layouts), que es también una vista, puede
 ```
 
 
-## Layouts <a name="layouts"></a>
+## Layouts <span id="layouts"></span>
 
 Los layouts son un tipo especial de vista que representan partes comunes de otras múltiples vistas. Por ejemplo, las páginas de la mayoría de las aplicaciones Web comparten el mismo encabezado y pie de página. Aunque puedes repetirlos en todas y cada una de las vistas, una mejor forma es hacerlo sólo en el layout e incrustar el resultado de la renderización de la vista en un lugar apropiado del mismo.
 
 
-### Creando Layouts <a name="creating-layouts"></a>
+### Creando Layouts <span id="creating-layouts"></span>
 
 Dado que los layouts son también vistas, pueden ser creados de manera similar a las vistas comunes. Por defecto, los layouts son guardados en el directorio `@app/views/layouts`. Para layouts utilizados dentro de un [módulo](structure-modules.md), deberían ser guardados en el directorio `views/layouts` bajo el [[yii\base\Module::basePath|directorio del módulo]]. Puedes personalizar el directorio de layouts por defecto configurando la propiedad [[yii\base\Module::layoutPath]] de la aplicación o módulos.
 
@@ -294,14 +294,14 @@ La mayoría de layouts deberían llamar a los siguientes métodos (como fue most
 - [[yii\base\View::endBody()|endBody()]]: Este método debería llamarse al final de la sección `<body>`. Esto dispara el evento [[yii\web\View::EVENT_END_BODY|EVENT_END_BODY]], que genera un espacio vacío a ser reemplazado por el código HTML registrado (ej. JavaScript) que apunta al final del body.
 
 
-### Accediendo a Datos en Layouts <a name="accessing-data-in-layouts"></a>
+### Accediendo a Datos en Layouts <span id="accessing-data-in-layouts"></span>
 
 Dentro de un layout, tienes acceso a dos variables predefinidas: `$this` y `$content`. La primera se refiere al componente [[yii\base\View|view]], como en cualquier vista, mientras que la última contiene el resultado de la renderización del contenido de la vista que está siendo renderizada all llamar al método [[yii\base\Controller::render()|render()]] en los controladores.
 
 Si quieres acceder a otros datos en los layouts, debes utilizar el modo pull que fue descrito en la sub-sección [Accediendo a Datos en la Vista](#accessing-data-in-views). Si quieres pasar datos desde al contenido de la vista a un layout, puedes utilizar el método descrito en la sub-sección [Compartiendo Datos Entre las Vistas](#sharing-data-among-views).
 
 
-### Utilizando Layouts <a name="using-layouts"></a>
+### Utilizando Layouts <span id="using-layouts"></span>
 
 Como se describe en la sub-sección [Renderizando en Controllers](#rendering-in-controllers), cuando renderizas una vista llamando al método [[yii\base\Controller::render()|render()]] en un controlador, al resultado de dicha renderización le será aplicado un layout. Por defecto, el layout `@app/views/layouts/main.php` será el utilizado. 
 
@@ -339,7 +339,7 @@ En el segundo paso, se determina el archivo de layout actual de acuerdo al valor
 Si el valor de layout no contiene una extensión de tipo de archivo, utilizará por defecto `.php`.
 
 
-### Layouts Anidados <a name="nested-layouts"></a>
+### Layouts Anidados <span id="nested-layouts"></span>
 
 A veces podrías querer anidar un layout dentro de otro. Por ejemplo, en diferentes secciones de un sitio Web, podrías querer utilizar layouts diferentes, mientras que todos esos layouts comparten el mismo layout básico que genera la estructura general de la página en HTML5. Esto es posible llamando a los métodos [[yii\base\View::beginContent()|beginContent()]] y [[yii\base\View::endContent()|endContent()]] en los layouts hijos como se muestra a continuación:
 
@@ -356,7 +356,7 @@ Como se acaba de mostrar, el contenido del layout hijo debe ser encerrado dentro
 Utilizando la forma recién mencionada, puedes anidar layouts en más de un nivel.
 
 
-## Utilizando Componentes de Vista <a name="using-view-components"></a>
+## Utilizando Componentes de Vista <span id="using-view-components"></span>
 
 Los [[yii\base\View|componentes de vista]] proveen características relacionadas a las vistas. Aunque puedes obtener componentes de vista creando instancias individuales de [[yii\base\View]] o sus clases hijas, en la mayoría de los casos utilizarías el componente `view` del a aplicación. Puedes configurar este componente en la [configuración de la aplicación](structure-applications.md#application-configurations) como a continuación:
 
@@ -384,7 +384,7 @@ Los componentes de vista proveen las siguientes características útiles, cada u
 Puedes también utilizar frecuentemente el siguiente menor pero útil grupo de características al desarrollar páginas Web.
 
 
-### Definiendo Títulos de Página <a name="setting-page-titles"></a>
+### Definiendo Títulos de Página <span id="setting-page-titles"></span>
 
 Toda página Web debería tener un título. Normalmente el tag de título es generado en [layout](#layouts). De todos modos, en la práctica el título es determinado en el contenido de las vistas más que en layouts. Para resolver este problema, [[yii\web\View]] provee la propiedad [[yii\web\View::title|title]] para que puedas pasar información del título desde el contenido de la vista a los layouts.
 
@@ -403,7 +403,7 @@ Entonces en el layout, asegúrate de tener el siguiente código en la sección `
 ```
 
 
-### Registrando Meta Tags <a name="registering-meta-tags"></a>
+### Registrando Meta Tags <span id="registering-meta-tags"></span>
 
 Las páginas Web usualmente necesitan generar varios meta tags necesarios por diferentes grupos (ej. Facebook, motores de búsqueda, etc). Cómo los títulos de página, los meta tags aparecen en la sección `<head>` y son usualmente generado en los layouts.
 
@@ -431,7 +431,7 @@ $this->registerMetaTag(['name' => 'description', 'content' => 'Este sitio Web es
 ```
 
 
-### Registrando Link Tags <a name="registering-link-tags"></a>
+### Registrando Link Tags <span id="registering-link-tags"></span>
 
 Tal como los [meta tags](#adding-meta-tags), los link tags son útiles en muchos casos, como personalizar el ícono (favicon) del sitio, apuntar a una fuente de RSS o delegar OpenID a otro servidor. Puedes trabajar con link tags, al igual que con meta tags, utilizando [[yii\web\View::registerLinkTag()]]. Por ejemplo, en el contenido de una vista, puedes registrar un link tag como se muestra a continuación:
 
@@ -453,7 +453,7 @@ El resultado del código es el siguiente:
 Al igual que con [[yii\web\View::registerMetaTag()|registerMetaTags()]], puedes especificar una clave al llamar a [[yii\web\View::registerLinkTag()|registerLinkTag()]] para evitar registrar link tags repetidos.
 
 
-## Eventos de Vistas <a name="view-events"></a>
+## Eventos de Vistas <span id="view-events"></span>
 
 Los [[yii\base\View|componentes de vistas]] disparan varios eventos durante el proceso de renderizado de la vista. Puedes responder a estos eventos para inyectar contenido a la vista o procesar el resultado de la renderización antes de que sea enviada al usuario final.
 
@@ -474,7 +474,7 @@ Por ejemplo, el siguiente código inyecta la fecha actual al final del body de l
 ```
 
 
-## Renderizando Páginas Estáticas <a name="rendering-static-pages"></a>
+## Renderizando Páginas Estáticas <span id="rendering-static-pages"></span>
 
 Con páginas estáticas nos referimos a esas páginas cuyo contenido es mayormente estático y sin necesidad de acceso a datos dinámicos enviados desde los controladores.
 
@@ -516,7 +516,7 @@ http://localhost/index.php?r=site/page&view=about
 El parámetro `GET` `view` le comunica a [[yii\web\ViewAction]] cuál es la vista solicitada. La acción entonces buscará esta vista dentro de `@app/views/site/pages`. Puedes configurar la propiedad [[yii\web\ViewAction::viewPrefix]] para cambiar el directorio en el que se buscarán dichas páginas.
 
 
-## Buenas Prácticas <a name="best-practices"></a>
+## Buenas Prácticas <span id="best-practices"></span>
 
 Las vistas son responsables de la presentación de modelos en el formato que el usuario final desea. En general, las vistas
 
diff --git a/docs/guide-es/structure-widgets.md b/docs/guide-es/structure-widgets.md
index e48c983..fdf7830 100644
--- a/docs/guide-es/structure-widgets.md
+++ b/docs/guide-es/structure-widgets.md
@@ -18,7 +18,7 @@ Hay un buen número de widgets incluidos en Yii, tales como [[yii\widgets\Active
 En adelante, introduciremos las nociones básicas acerca de los widgets. Por favor, refiérase a la documentación de la 
 API de clases si quiere aprender más acerca de el uso de un widget en particular.
 
-## Uso de los Widgets <a name="using-widgets"></a>
+## Uso de los Widgets <span id="using-widgets"></span>
 
 Los Widgets son usados principalmente en las [vistas](structure-views.md). Se puede llamar al método 
 [[yii\base\Widget::widget()]] para usar un widget en una vista. El método obtiene un array de 
@@ -69,7 +69,7 @@ Hay que tener en cuenta que a diferencia de [[yii\base\Widget::widget()]] que de
 del widget, el método [[yii\base\Widget::begin()]] devuelve una instancia del widget que se puede usar para generar el 
 contenido del widget.
 
-## Creación Widgets <a name="creating-widgets"></a>
+## Creación Widgets <span id="creating-widgets"></span>
 
 Para crear un widget, se debe extender a [[yii\base\Widget]] y sobrescribir los métodos [[yii\base\Widget::init()]] 
 y/o [[yii\base\Widget::run()]]. Normalmente el método 'init()' debería contener el código que estandariza las 
@@ -176,7 +176,7 @@ ejemplo representará el fichero de la vista `@app/components/views/hello.php`, 
 encuentre en `@app/components`. Se puede sobrescribir el método [[yii\base\Widget::getViewPath()]] para personalizar 
 el directorio que contenga los ficheros de la vista del widget.
 
-## Mejores Prácticas <a name="best-practices"></a>
+## Mejores Prácticas <span id="best-practices"></span>
 
 Los widgets son una manera orientada a objetos de reutilizar código de las vistas.
 
diff --git a/docs/guide-es/tutorial-core-validators.md b/docs/guide-es/tutorial-core-validators.md
index b67c545..740a7f7 100644
--- a/docs/guide-es/tutorial-core-validators.md
+++ b/docs/guide-es/tutorial-core-validators.md
@@ -18,7 +18,7 @@ La propiedad [[yii\validators\Validator::builtInValidators]] declara todos los a
 A continuación, vamos a describir el uso principal y las propiedades de cada validador del núcleo.
 
 
-## [[yii\validators\BooleanValidator|boolean]] <a name="boolean"></a>
+## [[yii\validators\BooleanValidator|boolean]] <span id="boolean"></span>
 
 ```php
 [
@@ -40,7 +40,7 @@ Este validador comprueba si el valor de la entrada (input) es booleano.
 > Nota: Ya que los datos enviados con la entrada, vía formularios HTML,son todos cadenas (strings), usted debe normalmente dejar la propiedad  [[yii\validators\BooleanValidator::strict|strict]] a false.
 
 
-## [[yii\captcha\CaptchaValidator|captcha]] <a name="captcha"></a>
+## [[yii\captcha\CaptchaValidator|captcha]] <span id="captcha"></span>
 
 ```php
 [
@@ -56,7 +56,7 @@ Este validador es usualmente usado junto con [[yii\captcha\CaptchaAction]] y [[y
 - `skipOnEmpty`: cuando la validación puede saltarse si la entrada está vacía. Por defecto a false, lo caul permite que la entrada sea necesaria (required).
   
 
-## [[yii\validators\CompareValidator|compare]] <a name="compare"></a>
+## [[yii\validators\CompareValidator|compare]] <span id="compare"></span>
 
 ```php
 [
@@ -83,7 +83,7 @@ Este validador compara el valor especificado por la entrada con otro valor y, se
      * `<=`: comprueba si el valor siendo validado es menor o igual que el valor con el que se compara
 
 
-## [[yii\validators\DateValidator|date]] <a name="date"></a>
+## [[yii\validators\DateValidator|date]] <span id="date"></span>
 
 ```php
 [
@@ -101,7 +101,7 @@ Opcionalmente, puede convertir el valor de entrada en una fecha/tiempo UNIX y al
 - `timestampAttribute`: el nombre del atributo al cual este validador puede asignar el fecha/hora UNIX convertida desde la entrada fecha/hora.
 
 
-## [[yii\validators\DefaultValueValidator|default]] <a name="default"></a>
+## [[yii\validators\DefaultValueValidator|default]] <span id="default"></span>
 
 ```php
 [
@@ -132,7 +132,7 @@ function foo($model, $attribute) {
 > Info: Cómo determinar si un valor está vacío o no, es un tópico separado cubierto en la sección [Valores Vacíos](input-validation.md#handling-empty-inputs) .
 
 
-## [[yii\validators\NumberValidator|double]] <a name="double"></a>
+## [[yii\validators\NumberValidator|double]] <span id="double"></span>
 
 ```php
 [
@@ -147,7 +147,7 @@ Esta validador comprueba si el valor de entrada es un número de tipo doble. Es 
 - `min`: el valor límite inferior (incluido) de el valor. Si no tiene valor, significa que no se comprueba el valor inferior.
 
 
-## [[yii\validators\EmailValidator|email]] <a name="email"></a>
+## [[yii\validators\EmailValidator|email]] <span id="email"></span>
 
 ```php
 [
@@ -166,7 +166,7 @@ Este validador comprueba si el valor de entrada es una dirección válida de ema
   Por defecto a false. Dese cuenta que para poder usar la validación de IDN has de instalar y activar la extensión de PHP `intl`,  o será lanzada una excepción.
 
 
-## [[yii\validators\ExistValidator|exist]] <a name="exist"></a>
+## [[yii\validators\ExistValidator|exist]] <span id="exist"></span>
 
 ```php
 [
@@ -200,7 +200,7 @@ Este validador comprueba si el valor de entrada puede ser encontrado en una colu
 - `allowArray`: indica cuando permitir que el valor de entrada sea un array. Por defecto a false.Si la propiedad es true y la entrada es un array, cada elemento del array debe existir en la columna destino. Nota que esta propiedad no puede ser true si estás validando, por el contrario, múltiple columnas poniendo el valor del atributo `targetAttribute` como que es un array.
 
 
-## [[yii\validators\FileValidator|file]] <a name="file"></a>
+## [[yii\validators\FileValidator|file]] <span id="file"></span>
 
 ```php
 [
@@ -224,7 +224,7 @@ Este validador comprueba que el fichero subido es el adecuado.
 `FileValidator` es usado con [[yii\web\UploadedFile]]. Por favor, refiérase a la sección [Subida de ficheros](input-file-upload.md) para una completa cobertura sobre la subida de ficheros y llevar a cabo la validación de los ficheros subidos.
 
 
-## [[yii\validators\FilterValidator|filter]] <a name="filter"></a>
+## [[yii\validators\FilterValidator|filter]] <span id="filter"></span>
 
 ```php
 [
@@ -249,7 +249,7 @@ Este validador no valida datos. En su lugar, aplica un filtro sobre el valor de 
 > Consejo (Tip): Si quieres recortar los valores de entrada, puedes usar directamente el validador [Recorte (trim)](#trim).
 
 
-## [[yii\validators\ImageValidator|image]] <a name="image"></a>
+## [[yii\validators\ImageValidator|image]] <span id="image"></span>
 
 ```php
 [
@@ -269,7 +269,7 @@ Este validador comprueba si el valor de entrada representa un fichero de imagen 
 - `maxHeight`: el máximo alto de la imagen. Por defecto a null, indicando que no hay límite superior.
 
 
-## [[yii\validators\RangeValidator|in]] <a name="in"></a>
+## [[yii\validators\RangeValidator|in]] <span id="in"></span>
 
 ```php
 [
@@ -286,7 +286,7 @@ Este validador comprueba si el valor de entrada puede encontrarse entre determin
 - `allowArray`: si se permite que el valor de entrada sea un array. Cuando es true y el valor de entrada es un array, cada elemento en el array debe de ser encontrado en la lista de valores determinada,o la validación fallará.
 
 
-## [[yii\validators\NumberValidator|integer]] <a name="integer"></a>
+## [[yii\validators\NumberValidator|integer]] <span id="integer"></span>
 
 ```php
 [
@@ -301,7 +301,7 @@ Esta validador comprueba si el valor de entrada es un entero.
 - `min`: el valor inferior (incluido). Si no tiene valor, significa que el validador no comprueba el límite inferior.
 
 
-## [[yii\validators\RegularExpressionValidator|match]] <a name="match"></a>
+## [[yii\validators\RegularExpressionValidator|match]] <span id="match"></span>
 
 ```php
 [
@@ -316,7 +316,7 @@ Este validador comprueba si el valor de entrada coincide con la expresión regul
 - `not`: indica cuando invertir el resultado de la validación. Por defecto a false, significando que la validación es exitosa solamente si el valor de entrada coincide con el patrón. Si esta propiedad está a true, la validación es exitosa solamente si el valor de entrada NO coincide con el patrón.
 
 
-## [[yii\validators\NumberValidator|number]] <a name="number"></a>
+## [[yii\validators\NumberValidator|number]] <span id="number"></span>
 
 ```php
 [
@@ -331,7 +331,7 @@ Este validador comprueba si el valor de entrada es un número. Es equivalente al
 - `min`: el valor inferior límite (incluido) . Si no tiene valor, significa que el validador no comprueba el valor límite inferior.
 
 
-## [[yii\validators\RequiredValidator|required]] <a name="required"></a>
+## [[yii\validators\RequiredValidator|required]] <span id="required"></span>
 
 ```php
 [
@@ -350,7 +350,7 @@ El validador comprueba si el valor de entrada es provisto y no está vacío.
 > Info: Como determinar si un valor está vacío o no es un tópico separado cubierto en la sección [Valores vacíos](input-validation.md#handling-empty-inputs).
 
 
-## [[yii\validators\SafeValidator|safe]] <a name="safe"></a>
+## [[yii\validators\SafeValidator|safe]] <span id="safe"></span>
 
 ```php
 [
@@ -362,7 +362,7 @@ El validador comprueba si el valor de entrada es provisto y no está vacío.
 Este validador no realiza validación de datos. En lugar de ello, es usado para marcar un atributo como seguro [atributos seguros](structure-models.md#safe-attributes).
 
 
-## [[yii\validators\StringValidator|string]] <a name="string"></a>
+## [[yii\validators\StringValidator|string]] <span id="string"></span>
 
 ```php
 [
@@ -383,7 +383,7 @@ Este validador comprueba si el valor de entrada es una cadena válida con determ
 - `encoding`: la codificación de la cadena de entrada a ser validada. Si no tiene valor, usará el valor de la aplicación [[yii\base\Application::charset|charset]]  que por defecto es `UTF-8`.
 
 
-## [[yii\validators\FilterValidator|trim]] <a name="trim"></a>
+## [[yii\validators\FilterValidator|trim]] <span id="trim"></span>
 
 ```php
 [
@@ -395,7 +395,7 @@ Este validador comprueba si el valor de entrada es una cadena válida con determ
 Este validador no realiza validación de datos. En cambio, recorta los espacios que rodean el valor de entrada. Nota que si el valor de entrada es un array, se ignorará este validador.
 
 
-## [[yii\validators\UniqueValidator|unique]] <a name="unique"></a>
+## [[yii\validators\UniqueValidator|unique]] <span id="unique"></span>
 
 ```php
 [
@@ -425,7 +425,7 @@ Este validador comprueba si el valor de entrada es único en una columna de una 
   Esto puede ser una cadena o un array representando la condición adicional a la consulta (Referirse a [[yii\db\Query::where()]] para el formato de la condición de la consulta), o una función anónima de la forma  `function ($query)`, donde `$query` es el objeto [[yii\db\Query|Query]] que puedes modificar en la función.
 
 
-## [[yii\validators\UrlValidator|url]] <a name="url"></a>
+## [[yii\validators\UrlValidator|url]] <span id="url"></span>
 
 ```php
 [
diff --git a/docs/guide-es/tutorial-yii-integration.md b/docs/guide-es/tutorial-yii-integration.md
index 9cb2dda..a586485 100644
--- a/docs/guide-es/tutorial-yii-integration.md
+++ b/docs/guide-es/tutorial-yii-integration.md
@@ -4,12 +4,12 @@ Trabajando con código de terceros
 De tiempo en tiempo, puede necesitar usar algún código de terceros en sus aplicaciones Yii. O puedes querer usar Yii como una librería en otros sistemas de terceros. En esta sección, te enseñaremos cómo conseguir estos objetivos.
 
 
-## Usando librerías de terceros en Yii <a name="using-libs-in-yii"></a>
+## Usando librerías de terceros en Yii <span id="using-libs-in-yii"></span>
 
 Para usar una librería en una aplicación Yii, primeramente debes de asegurarte que las clases een la librería son incluidas adecuadamente o pueden ser cargadas de forma automática.
 
 
-### Usando Paquetes de Composer <a name="using-composer-packages"></a>
+### Usando Paquetes de Composer <span id="using-composer-packages"></span>
 
 Muchas librerías de terceros son liberadas en términos de paquetes [Composer](https://getcomposer.org/).
 Puedes instalar este tipo de librerias siguiendo dos sencillos pasos:
@@ -28,7 +28,7 @@ require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
 ```
 
 
-### Usando librerías Descargadas <a name="using-downloaded-libs"></a>
+### Usando librerías Descargadas <span id="using-downloaded-libs"></span>
 
 Si la librería no es liberada como un paquete de Composer, debes de seguir sus instrucciones de instalación para instalarla.
 En muchos casos, puedes necesitar descargar manualmente el fichero de la versión y desempaquetarlo en el directorio `BasePath/vendor` , donde `BasePath` representa el [camino base (base path)](structure-applications.md#basePath) de tu aplicación.
@@ -57,7 +57,7 @@ Yii::$classMap['Class2'] = 'path/to/Class2.php';
 ```
 
 
-## Usando Yii en Sistemas de Terceros <a name="using-yii-in-others"></a>
+## Usando Yii en Sistemas de Terceros <span id="using-yii-in-others"></span>
 
 Debido a que Yii provee muchas posibilidades excelentes, a veces puedes querer usar alguna de sus características para permitir el desarrollo o mejora de sistemas de terceros, como es WordPress, Joomla, o aplicaciones desarrolladas usando otros frameworks de PHP. Por ejemplo, puedes queres usar la clase [[yii\helpers\ArrayHelper]]  o usar la característica [Active Record](db-active-record.md) en un sistema de terceros. Para lograr este objetivo, principalmente necesitas realizar dos pasos: instalar Yii , e iniciar  Yii.
 
@@ -86,7 +86,7 @@ Como en una aplicación Yii, debes configurar la instancia de la aplicación bas
 Ahora puedes usar muchas características provistas por Yii. Por ejemplo, puedes crear clases Active Record y usarlas para trabajar con bases de datos.
 
 
-## Usando Yii 2 con Yii 1 <a name="using-both-yii2-yii1"></a>
+## Usando Yii 2 con Yii 1 <span id="using-both-yii2-yii1"></span>
 
 Si estaba usando Yii 1 previamente, es como si tuvieras una aplicación Yii 1 funcionando. En vez de reescribir toda la aplicación en Yii 2, puedes solamente mejorarla usando alguna de las características sólo disponibles en Yii 2.
 
diff --git a/docs/guide-fr/start-databases.md b/docs/guide-fr/start-databases.md
index 179b409..6be9698 100644
--- a/docs/guide-fr/start-databases.md
+++ b/docs/guide-fr/start-databases.md
@@ -18,7 +18,7 @@ En particulier, vous devez savoir créer une base de données, et exécuter des 
 gestion de bases de données.
 
 
-Préparer la Base de Données <a name="preparing-database"></a>
+Préparer la Base de Données <span id="preparing-database"></span>
 --------------------
 
 Pour commencer, créez une base de données appelée `yii2basic`, depuis laquelle vous irez chercher les données dans 
@@ -50,7 +50,7 @@ INSERT INTO `country` VALUES ('US','United States',278357000);
 
 A ce niveau, vous avez une base de données appelée `yii2basic`, et dedans, une table `country` comportant trois colonnes, contenant dix lignes de données.
 
-Configurer une Connexion à la BDD <a name="configuring-db-connection"></a>
+Configurer une Connexion à la BDD <span id="configuring-db-connection"></span>
 ---------------------------
 
 Avant de continuer, assurons nous que vous avez installé à la fois l'extension PHP 
@@ -85,7 +85,7 @@ On peut accéder à connexion à la BDD configurée ci-dessus depuis le code de 
   Pour plus d'informations, merci de vous référer à la section [Configurations](concept-configurations.md).
 
 
-Créer un Active Record <a name="creating-active-record"></a>
+Créer un Active Record <span id="creating-active-record"></span>
 -------------------------
 
 Pour représenter et aller chercher des données dans la table `country`, créez une classe dérivée d'[Active Record](db-active-record.md) appelée `Country`, et enregistrez la dans le fichier `models/Country.php`.
@@ -132,7 +132,7 @@ Vous pouvez trouver plus d'informations dans la section [Active Record](db-activ
 [Data Access Objects](db-dao.md).
 
 
-Créer une Action <a name="creating-action"></a>
+Créer une Action <span id="creating-action"></span>
 ------------------
 
 Pour exposer les données pays aux utilisateurs, vous devez créer une action. Plutôt que de placer la nouvelle action 
@@ -188,7 +188,7 @@ Pour limiter le nombre de pays retournés par chaque requête, la requête est p
 A la fin du code, l'action `index` effectue le rendu d'une vue nommée `index`, et lui transmet les données pays ainsi que les informations de pagination.
 
 
-Créer une Vue <a name="creating-view"></a>
+Créer une Vue <span id="creating-view"></span>
 ---------------
 
 Dans le dossier `views`, commencez par créer un sous-dossier nommé `country`. Ce dossier sera utilisé pour contenir
@@ -219,7 +219,7 @@ Dans la deuxième partie, un widget [[yii\widgets\LinkPager]] est rendu en utili
 Le widget `LinkPager` affiche une liste de boutons de pages. Le fait de cliquer sur l'un deux rafraichit les données pays dans la page correspondante.
 
 
-Essayer <a name="trying-it-out"></a>
+Essayer <span id="trying-it-out"></span>
 -------------
 
 Pour voir comment tout le code ci-dessus fonctionne, utilisez votre navigateur pour accéder à l'URL suivant :
@@ -253,7 +253,7 @@ En coulisse, [[yii\data\Pagination|Pagination]] fournit toutes les fonctionnalit
   affichés.
 
 
-Résumé <a name="summary"></a>
+Résumé <span id="summary"></span>
 -------
 
 Dans cette section, vous avez appris comment travailler avec une base de données. Vous avez également appris comment 
diff --git a/docs/guide-fr/start-forms.md b/docs/guide-fr/start-forms.md
index 383e1e5..f834f2c 100644
--- a/docs/guide-fr/start-forms.md
+++ b/docs/guide-fr/start-forms.md
@@ -17,7 +17,7 @@ formulaire
 * Construire un formulaire HTML dans une [vue](structure-views.md)
 
 
-Créer un Modèle <a name="creating-model"></a>
+Créer un Modèle <span id="creating-model"></span>
 ----------------
 
 Les données demandées à l'utilisateur seront représentées par une classe de modèle `EntryForm` comme montrée ci-dessous
@@ -81,7 +81,7 @@ if ($model->validate()) {
 ```
 
 
-Créer une Action <a name="creating-action"></a>
+Créer une Action <span id="creating-action"></span>
 ------------------
 
 Maintenant, vous allez créer une action `entry` dans le contrôleur `site` qui utilisera le nouveau modèle. Le processus
@@ -138,7 +138,7 @@ valides. En pratique, vous devriez envisager d'utiliser [[yii\web\Controller::re
 [problèmes de multiple soumission de formulaire](http://fr.wikipedia.org/wiki/Post-Redirect-Get).
 
 
-Créer des Vues <a name="creating-views"></a>
+Créer des Vues <span id="creating-views"></span>
 --------------
 
 Enfin, créez deux fichiers de vue nommés `entry-confirm` et `entry`. Ceux-ci seront rendus par l'action `entry`,
@@ -187,7 +187,7 @@ donnée "email". Après les champs de saisie, la méthode [[yii\helpers\Html::su
 bouton de soumission.
 
 
-Essayer <a name="trying-it-out"></a>
+Essayer <span id="trying-it-out"></span>
 -------------
 
 Pour voir comment ça fonctionne, utilisez votre navigateur pour accéder à l'URL suivante :
@@ -210,7 +210,7 @@ page affichant les données que vous venez de saisir.
 
 
 
-### La Magie expliquée <a name="magic-explained"></a>
+### La Magie expliquée <span id="magic-explained"></span>
 
 Vous vous demandez peut-être comment le formulaire HTML fonctionne en coulisse, parce qu'il semble presque magique
 qu'il puisse afficher une étiquette pour chaque champ de saisie et afficher sans rafraichir la page des messages 
@@ -241,7 +241,7 @@ Vous pouvez personnaliser une étiquette dans une vue en employant le code suiva
   Comme vous l'apprendrez plus tard, écrire un widget et aussi extrêmement simple. Vous voudrez sans doute transformer   une grande partie de votre code de vues en widgets réutilisables pour simplifier les développements de vues futurs.
 
 
-Résumé <a name="summary"></a>
+Résumé <span id="summary"></span>
 -------
 
 Dans cette section du guide, vous avez touché toutes les parties du patron de conception MVC. Vous avez appris à créer 
diff --git a/docs/guide-fr/start-gii.md b/docs/guide-fr/start-gii.md
index 80f1d68..7989174 100644
--- a/docs/guide-fr/start-gii.md
+++ b/docs/guide-fr/start-gii.md
@@ -13,7 +13,7 @@ Au long de ce tutoriel, vous apprendrez comment :
 * Personnaliser le code généré par Gii
 
 
-Démarrer Gii <a name="starting-gii"></a>
+Démarrer Gii <span id="starting-gii"></span>
 ------------
 
 [Gii](tool-gii.md) est fourni dans Yii en tant que [module](structure-modules.md). Vous pouvez activer Gii en le 
@@ -60,7 +60,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-Générer une Classe Active Record <a name="generating-ar"></a>
+Générer une Classe Active Record <span id="generating-ar"></span>
 ---------------------------------
 
 Pour utiliser Gii pour générer une classe Active Record, sélectionnez le "Model Generator" (en cliquant sur le lien 
@@ -85,7 +85,7 @@ Ensuite, vous verrez une page de confirmation indiquant que le code a été gén
 existant, vous verrez également un message indiquant qu’il a été écrasé par le code nouvellement généré.
 
 
-Générer du Code CRUD <a name="generating-crud"></a>
+Générer du Code CRUD <span id="generating-crud"></span>
 --------------------
 
 CRUD signifie Create, Read, Update, and Delete (Créer, Lire, Mettre à Jour et Supprimer), représentant le quatre tâches
@@ -108,7 +108,7 @@ Si vous aviez précédemment créé les fichiers  `controllers/CountryController
 (Les versions précédentes n’avaient pas de fonctionnalités CRUD).
 
 
-Essayer <a name="trying-it-out"></a>
+Essayer <span id="trying-it-out"></span>
 -------------
 
 Pour voir comment ça fonctionne, utilisez votre navigateur pour accéder à l’URL suivant :
@@ -142,7 +142,7 @@ fonctionnalités sont implémentées, ou les personnaliser :
   à la section [Gii](tool-gii.md).
 
 
-Résumé <a name="summary"></a>
+Résumé <span id="summary"></span>
 -------
 
 Dans cette section, vous avez appris à utiliser Gii pour générer le code qui implémente une fonctionnalité CRUD 
diff --git a/docs/guide-fr/start-hello.md b/docs/guide-fr/start-hello.md
index b33a716..10321f9 100644
--- a/docs/guide-fr/start-hello.md
+++ b/docs/guide-fr/start-hello.md
@@ -14,7 +14,7 @@ A travers ce tutoriel, vous apprendrez trois choses :
 3. comment une application distribue les requêtes aux [actions](structure-controllers.md#creating-actions).
 
 
-Créer une Action <a name="creating-action"></a>
+Créer une Action <span id="creating-action"></span>
 ------------------
 
 Pour la tâche "Hello", vous allez créer une [action](structure-controllers.md#creating-actions) `dire` qui reçoit un paramètre
@@ -54,7 +54,7 @@ La méthode action de notre exemple prend un paramètre `$message`, dont la vale
 Au sein de la méthode action, [[yii\web\Controller::render()|render()]] est appelé pour effectuer le rendu d'un fichier [vue](structure-views.md) appelé `dire`. Le paramètre `message` est également transmis à la vue afin qu'il puisse y être utilisé. Le résultat du rendu est renvoyé à l'utilisateur par la méthode action. Ce résultat sera reçu par l'application et présenté à l'utilisateur dans le navigateur (en tant qu'élément d'une page HTML complète). 
 
 
-Créer une Vue <a name="creating-view"></a>
+Créer une Vue <span id="creating-view"></span>
 ---------------
 
 Les [vues](structure-views.md) sont des scripts qu'on écrit pour générer le contenu d'une réponse.
@@ -78,7 +78,7 @@ En réalité, la vue `dire` est simplement un script PHP exécuté par la métho
 Le contenu affiché par le script de vue sera renvoyé à l'application en tant que résultat de réponse. L'application renverra à son tour ce résultat à l'utilisateur.
 
 
-Essayer <a name="trying-it-out"></a>
+Essayer <span id="trying-it-out"></span>
 -------------
 
 Après avoir créé l'action et la vue, vous pouvez accéder à la nouvelle page en accédant à l'URL suivant :
@@ -105,7 +105,7 @@ sera comprise comme la classe contrôleur `SiteController` et l'action `dire`. I
   au nom de classe contrôleur `PosterCommentaireController`.
 
 
-Résumé <a name="summary"></a>
+Résumé <span id="summary"></span>
 -------
 
 Dans cette section, vous avez touché aux parties contrôleur et vue du patron de conception MVC.
diff --git a/docs/guide-fr/start-installation.md b/docs/guide-fr/start-installation.md
index c004f47..967522a 100644
--- a/docs/guide-fr/start-installation.md
+++ b/docs/guide-fr/start-installation.md
@@ -7,7 +7,7 @@ La première méthode est conseillée, étant donné qu'elle permet d'installer 
 > Remarque : Contrairement à Yii 1, les installations standards de Yii 2 auront pour résultat le téléchargement et l'installation du framework, ainsi que d'un squelette d'application.
 
 
-Installer via Composer <a name="installing-via-composer"></a>
+Installer via Composer <span id="installing-via-composer"></span>
 ----------------------
 
 Si vous n'avez pas déjà installé Composer, vous pouvez le faire en suivant les instructions sur le site [getcomposer.org](https://getcomposer.org/download/). 
@@ -33,7 +33,7 @@ Cette commande installera Yii dans le dossier `basic`.
 > Notez que la version de développement de Yii ne doit pas être utilisée en production, vu qu'elle pourrait *casser* votre code existant.
 
 
-Installer depuis une archive <a name="installing-from-archive-file"></a>
+Installer depuis une archive <span id="installing-from-archive-file"></span>
 ----------------------------
 
 Installer Yii depuis une archive se fait en deux étapes :
@@ -42,7 +42,7 @@ Installer Yii depuis une archive se fait en deux étapes :
 2. Décompressez l'archive dans un dossier accessible via le Web.
 
 
-Autres options d'installation <a name="other-installation-options"></a>
+Autres options d'installation <span id="other-installation-options"></span>
 -----------------------------
 
 Les instructions d'installation ci-dessus montrent comment installer Yii, ce qui installe également une application Web de base qui fonctionne *out of the box*. 
@@ -54,7 +54,7 @@ Mais il y a d'autres options d'installation disponibles :
 * Si vous voulez commencer par une application plus sophistiquée, mieux adaptée aux environnements d'équipe de développement, vous pouvez envisager l'installation du [Modèle d'application avancée](tutorial-advanced-app.md).
 
 
-Vérifier l'installation <a name="verifying-installation"></a>
+Vérifier l'installation <span id="verifying-installation"></span>
 -----------------------
 
 Après l'installation, vous pouvez utiliser votre navigateur pour accéder à l'application Yii avec l'URL suivante :
@@ -80,7 +80,7 @@ Vous devriez voir dans votre navigateur la page ci-dessus. Sinon, merci de véri
 Vous devez configurer votre installation de PHP afin qu'elle réponde aux exigences minimales de Yii. Le plus important étant que vous ayez PHP 5.4 ou plus. Si votre application a besoin d'une base de données, vous devez également installer l'[extension PHP PDO](http://www.php.net/manual/en/pdo.installation.php) ainsi qu'un pilote correspondant à votre système de base de données (par exemple `pdo_mysql` pour MySQL).
 
 
-Configuration du serveur Web <a name="configuring-web-servers"></a>
+Configuration du serveur Web <span id="configuring-web-servers"></span>
 ----------------------------
 
 > Remarque : Si vous voulez juste tester Yii sans intention de l'utiliser sur un serveur de production, vous pouvez ignorer ce paragraphe.
@@ -95,7 +95,7 @@ Vous pouvez également cacher `index.php` dans l'URL, comme décrit dans la part
 > Remarque: Si votre application s'exécute dans un environnement d'hébergement mutualisé où vous n'avez pas la permission de modifier la configuration du serveur Web, vous pouvez ajuster la structure de votre application pour une meilleure sécurité. Merci de lire la partie [Environnement d'hébergement mutualisé](tutorial-shared-hosting.md) pour en savoir plus.
 
 
-### Configuration Apache recommandée <a name="recommended-apache-configuration"></a>
+### Configuration Apache recommandée <span id="recommended-apache-configuration"></span>
 
 Utilisez la configuration suivante dans `httpd.conf`, ou dans la configuration de votre hôte virtuel. Notez que vous devez remplacer `path/to/basic/web` par le chemin vers le dossier `basic/web`.
 
@@ -117,7 +117,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### Configuration Nginx recommandée <a name="recommended-nginx-configuration"></a>
+### Configuration Nginx recommandée <span id="recommended-nginx-configuration"></span>
 
 Pour utiliser Nginx, vous devez avoir installé PHP en utilisant [FPM SAPI](http://php.net/install.fpm).
 Utilisez la configuration Nginx suivante, en remplaçant `path/to/basic/web` par le chemin vers le dossier `basic/web` et `mysite.local` par le nom d'hôte de votre serveur.
diff --git a/docs/guide-fr/start-workflow.md b/docs/guide-fr/start-workflow.md
index e7bcc47..4efa377 100644
--- a/docs/guide-fr/start-workflow.md
+++ b/docs/guide-fr/start-workflow.md
@@ -11,7 +11,7 @@ de votre configuration. Cette section vous initiera aux fonctionnalités intégr
   Pour vos besoins, merci d'ajuster les URLs dans notre description comme il convient.
 
 
-Fonctionnalité <a name="Functionality"></a>
+Fonctionnalité <span id="Functionality"></span>
 --------------
 
 L'application basique installée contient quatre pages :
@@ -29,7 +29,7 @@ Vous devriez également voir une barre d'outils en bas de votre fenêtre de navi
 C'est un [outil de débogage](tool-debugger.md) utile fourni par Yii pour enregistrer et afficher de nombreuses informations de débogage, telles que des messages de logs, statuts de réponses, les requêtes lancées vers la base de données, et ainsi de suite.
 
 
-Structure de l'Application <a name="application-structure"></a>
+Structure de l'Application <span id="application-structure"></span>
 ---------------------
 
 Les répertoires et fichiers les plus importants de votre application sont (en supposant que le répertoire racine de l'application est `basic`) :
@@ -69,7 +69,7 @@ et distribue la requête aux éléments MVC. Les [Widgets](structure-widgets.md)
 pour aider à créer des éléments d'interface complexes et dynamiques.
 
 
-Cycle de vie d'une requête <a name="request-lifecycle"></a>
+Cycle de vie d'une requête <span id="request-lifecycle"></span>
 -----------------
 
 Le diagramme suivant présente la manière dont une application traite une requête.
diff --git a/docs/guide-fr/structure-entry-scripts.md b/docs/guide-fr/structure-entry-scripts.md
index 760a28f..c634433 100644
--- a/docs/guide-fr/structure-entry-scripts.md
+++ b/docs/guide-fr/structure-entry-scripts.md
@@ -23,7 +23,7 @@ Les scipts de démarrage effectuent principalement les tâches suivantes :
 * Appeler [[yii\base\Application::run()]] pour traiter la requête entrante.
 
 
-## Applications Web <a name="web-applications"></a>
+## Applications Web <span id="web-applications"></span>
 
 Ce qui suit est le code du script de démarrage du [Modèle Basique d'Application Web](start-installation.md).
 
@@ -47,7 +47,7 @@ $config = require(__DIR__ . '/../config/web.php');
 ```
 
 
-## Applications Console <a name="console-applications"></a>
+## Applications Console <span id="console-applications"></span>
 
 De même, le code qui suit est le code du script de démarrage d'une application console :
 
@@ -83,7 +83,7 @@ exit($exitCode);
 ```
 
 
-## Définir des Constantes <a name="defining-constants"></a>
+## Définir des Constantes <span id="defining-constants"></span>
 
 Les scripts de démarrage sont l'endroit idéal pour définir des constantes globales. Yii supporte les trois constantes suivantes :
 
diff --git a/docs/guide-it/start-installation.md b/docs/guide-it/start-installation.md
index 6b09042..72ce10e 100644
--- a/docs/guide-it/start-installation.md
+++ b/docs/guide-it/start-installation.md
@@ -8,7 +8,7 @@ semplicemente eseguendo un comando.
 > Nota: diversamente da Yii 1, le installazioni standard di Yii 2 comportano il download e l'installazione sia del framework che dello scheletro dell'applicazione
 
 
-Installazione via Composer <a name="installing-via-composer"></a>
+Installazione via Composer <span id="installing-via-composer"></span>
 --------------------------
 
 Se non hai già installato Composer puoi farlo seguendo le istruzioni al sito 
@@ -49,7 +49,7 @@ installa Yii in una directory di nome `basic`. Puoi scegliere un nome diverso, s
 > il tuo codice.
 
 
-Installazione da un archivio <a name="installing-from-archive-file"></a>
+Installazione da un archivio <span id="installing-from-archive-file"></span>
 ----------------------------
 
 L'installazione da un archivio compresso comporta tre passaggi:
@@ -65,7 +65,7 @@ L'installazione da un archivio compresso comporta tre passaggi:
    ```
 
 
-Altre modalità di installazione <a name="other-installation-options"></a>
+Altre modalità di installazione <span id="other-installation-options"></span>
 -------------------------------
 
 Le istruzioni sopra elencate mostrano come installare Yii, e creano inoltre un'applicazione web base funzionante.
@@ -79,7 +79,7 @@ Ma ci sono altre opzioni disponibili per l'installazione:
   [template di applicazione avanzata](tutorial-advanced-app.md).
 
 
-Verifica dell'installazione <a name="verifying-installation"></a>
+Verifica dell'installazione <span id="verifying-installation"></span>
 ---------------------------
 
 Dopo l'installazione puoi usare il tuo browser per accedere all'applicazione Yii installata con l'URL seguente:
@@ -110,7 +110,7 @@ PHP 5.4 o successivo. Devi inoltre installare le [estensioni PDO di PHP](http://
 di database di PDO (come ad esempio `pdo_mysql` per i database MySQL), se la tua applicazione richiede un database.
 
 
-Configurazione del webserver <a name="configuring-web-servers"></a>
+Configurazione del webserver <span id="configuring-web-servers"></span>
 ----------------------------
 
 > Informazione: puoi saltare questa parte per ora se stai solo provando Yii e non hai intenzione di installarlo su un server di produzione.
@@ -135,7 +135,7 @@ configurazione del webserver, ma dovrai comunque correggere la struttura della t
 riferimento alla sezione [ambienti di hosting condiviso](tutorial-shared-hosting.md) per maggiori dettagli.
 
 
-### Configurazione consigliata di Apache <a name="recommended-apache-configuration"></a>
+### Configurazione consigliata di Apache <span id="recommended-apache-configuration"></span>
 
 Usa questa configurazione nel file `httpd.conf` di Apache o nella definizione del tuo *VirtualHost*. Tieni presente che dovrai
 modificare `path/to/basic/web` con il percorso reale della tua `basic/web`.
@@ -158,7 +158,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### Configurazione consigliata di Nginx <a name="recommended-nginx-configuration"></a>
+### Configurazione consigliata di Nginx <span id="recommended-nginx-configuration"></span>
 
 Devi aver installato PHP con il demone [FPM](http://php.net/install.fpm) per usare [Nginx](http://wiki.nginx.org/).
 Usa questa configurazione per Nginx, sostituendo `path/to/basic/web` con il percorso reale di `basic/web` e `mysite.local` con
diff --git a/docs/guide-ja/caching-data.md b/docs/guide-ja/caching-data.md
index 7462783..3951dbf 100644
--- a/docs/guide-ja/caching-data.md
+++ b/docs/guide-ja/caching-data.md
@@ -22,7 +22,7 @@ if ($data === false) {
 ```
 
 
-## キャッシュコンポーネント <a name="cache-components"></a>
+## キャッシュコンポーネント <span id="cache-components"></span>
 
 データキャッシュはメモリ、ファイル、データベースなどさまざまなキャッシュストレージを表す、いわゆるキャッシュコンポーネントに依存しています。
 
@@ -64,7 +64,7 @@ if ($data === false) {
 > ヒント: キャッシュコンポーネントは複数登録することができます。`cache` という名前のコンポーネントはキャッシュに依存したクラスによってデフォルトで使用されています (例えば [[yii\web\UrlManager]] など) 。
 
 
-### サポートされているキャッシュストレージ <a name="supported-cache-storage"></a>
+### サポートされているキャッシュストレージ <span id="supported-cache-storage"></span>
 
 Yii はさまざまなキャッシュストレージをサポートしています。以下は概要です:
 
@@ -81,7 +81,7 @@ Yii はさまざまなキャッシュストレージをサポートしていま�
 > ヒント: 同じアプリケーション内で異なるキャッシュを使用することもできます。一般的なやり方として、小さくとも常に使用されるデータ (例えば、統計データなど) を格納する場合はメモリベースのキャッシュストレージを使用し、大きくて使用頻度の低いデータを格納する場合はファイルベース、またはデータベースのキャッシュストレージを使用します (例えば、ページコンテンツなど) 。
 
 
-## キャッシュ API <a name="cache-apis"></a>
+## キャッシュ API <span id="cache-apis"></span>
 
 すべてのキャッシュコンポーネントが同じ基底クラス [[yii\caching\Cache]] を持っているので、以下の API をサポートしています。
 
@@ -107,7 +107,7 @@ $value2 = $cache['var2'];  // $value2 = $cache->get('var2'); と同等
 ```
 
 
-### キャッシュのキーについて <a name="cache-keys"></a>
+### キャッシュのキーについて <span id="cache-keys"></span>
 
 キャッシュに格納される各データは、一意のキーによって識別されるため、キャッシュ内にデータを格納するときはキーを指定する必要があります。あとでキャッシュからデータを取得するときは、それに対応するキーを用意する、といった感じです。
 
@@ -141,7 +141,7 @@ $value2 = $cache['var2'];  // $value2 = $cache->get('var2'); と同等
 相互運用性を確保するために、英数字のみを使用する必要があります。
 
 
-### キャッシュの有効期限 <a name="cache-expiration"></a>
+### キャッシュの有効期限 <span id="cache-expiration"></span>
 
 キャッシュに格納されたデータは、いくつかのキャッシュポリシー (例えば、キャッシュスペースがいっぱいになったときは最も古いデータが削除される、など) の実施で除去されない限り、永遠に残り続けます。この動作を変えるために [[yii\caching\Cache::set()|set()]] で有効期限パラメータを指定することができます。パラメータはキャッシュ内に何秒間有効であるかを示します。[[yii\caching\Cache::get()|get()]] でデータを取得する際に有効期限が切れていた場合は、キャッシュ内にデータが見つからなかったことを示す false が返されます。例えば、
 
@@ -158,7 +158,7 @@ if ($data === false) {
 ```
 
 
-### キャッシュの依存関係 <a name="cache-dependencies"></a>
+### キャッシュの依存関係 <span id="cache-dependencies"></span>
 
 
 有効期限の設定に加えて、キャッシュされたデータにはいわゆる *キャッシュの依存関係* の変化によって無効にすることもできます。例えば [[yii\caching\FileDependency]] はファイルの更新時刻の依存関係を表しています。依存関係が変更されたときに、対応するファイルが更新されることを意味しています。その結果、キャッシュ内で見つかった古いファイルのコンテンツは、無効とされるべきであり [[yii\caching\Cache::get()|get()]] は false を返します。
@@ -188,7 +188,7 @@ $data = $cache->get($key);
 - [[yii\caching\TagDependency]]: 一つまたは複数のタグを持つキャッシュされたデータを関連付けます。[[yii\caching\TagDependency::invalidate()]] を呼び出すことによって指定されたタグ(複数可)と、キャッシュされたデータを無効にすることができます。
 
 
-## クエリキャッシュ <a name="query-caching"></a>
+## クエリキャッシュ <span id="query-caching"></span>
 
 クエリキャッシュは、データキャッシュ上に構築された特別なキャッシュ機能で、データベースのクエリ結果をキャッシュするために提供されています。
 
@@ -209,7 +209,7 @@ $result = $db->cache(function ($db) {
 > 情報: いくつかの DBMS (例えば [MySQL](http://dev.mysql.com/doc/refman/5.1/ja/query-cache.html)) でもデータベースのサーバサイドのクエリキャッシュをサポートしています。どちらのクエリキャッシュメカニズムも選べますが、前述した Yii のクエリキャッシュを使用することによって、キャッシュの依存関係を柔軟に指定できたり、潜在的にもより効率的でしょう。
 
 
-### 設定 <a name="query-caching-configs"></a>
+### 設定 <span id="query-caching-configs"></span>
 
 クエリキャッシュは [[yii\db\Connection]] を通して 3 つのグローバルな設定可能オプションがあります:
 
@@ -218,7 +218,7 @@ $result = $db->cache(function ($db) {
 * [[yii\db\Connection::queryCache|queryCache]]: これはキャッシュコンポーネントの ID を表します。デフォルトは `'cache'`。有効なキャッシュコンポーネントが存在する場合にのみ、クエリキャッシュが使用可能になります。
 
 
-### 使い方 <a name="query-caching-usages"></a>
+### 使い方 <span id="query-caching-usages"></span>
 
 クエリキャッシュを使用する必要がある複数の SQL クエリを持っている場合は [[yii\db\Connection::cache()]] を使用することができます。使い方としては以下のように、
 
@@ -281,7 +281,7 @@ $result = $db->cache(function ($db) {
 ```
 
 
-### 制約 <a name="query-caching-limitations"></a>
+### 制約 <span id="query-caching-limitations"></span>
 
 リソースハンドルを返すようなクエリにはクエリキャッシュは働きません。例えばいくつかの DBMS において BLOB 型のカラムを用いる場合、クエリ結果はカラムデータについてリソースハンドルを返します。
 
diff --git a/docs/guide-ja/caching-fragment.md b/docs/guide-ja/caching-fragment.md
index 9ed9158..47a6682 100644
--- a/docs/guide-ja/caching-fragment.md
+++ b/docs/guide-ja/caching-fragment.md
@@ -19,11 +19,11 @@ if ($this->beginCache($id)) {
 [データキャッシュ](caching-data.md) と同様に、キャッシュされたコンテンツを識別するためにユニークな `$id` が必要になります。
 
 
-## キャッシュのオプション <a name="caching-options"></a>
+## キャッシュのオプション <span id="caching-options"></span>
 
 [[yii\base\View::beginCache()|beginCache()]] メソッドの 2 番目のパラメータを配列にすることで、フラグメントキャッシュに関する追加のオプションを指定することもできます。裏で、この配列のオプションは実際にフラグメントキャッシュ機能を実装している [[yii\widgets\FragmentCache]] ウィジェットを構成するために使用されます。
 
-### 持続時間 <a name="duration"></a>
+### 持続時間 <span id="duration"></span>
 
 
 おそらくフラグメントキャッシュで通常よく使われるであろうオプションは [[yii\widgets\FragmentCache::duration|duration]] でしょう。このオプションにはコンテンツがどれだけの時間キャッシュ内において有効であるかを指定します。以下のコードは最大で 1 時間コンテンツの断片をキャッシュします:
@@ -40,7 +40,7 @@ if ($this->beginCache($id, ['duration' => 3600])) {
 オプションがセットされていない場合は、デフォルトである 60 が使われ、つまり有効期限が 60 秒間のキャッシュされたコンテンツを意味します。
 
 
-### 依存関係 <a name="dependencies"></a>
+### 依存関係 <span id="dependencies"></span>
 
 [データキャッシュ](caching-data.md#cache-dependencies) と同様に、キャッシュされたコンテンツの断片は依存関係を持つことができます。例えば、表示されている投稿の内容は、投稿が変更されたか否かに依存する、といった具合です。
 
@@ -61,7 +61,7 @@ if ($this->beginCache($id, ['dependency' => $dependency])) {
 ```
 
 
-### バリエーション <a name="variations"></a>
+### バリエーション <span id="variations"></span>
 
 キャッシュされたコンテンツはいくつかのパラメータによって変化させることもできます。例えば、複数の言語をサポートしているウェブアプリケーションに対して、ビューコードの同じ部分を、異なる言語で生成することができます。現在のアプリケーションの言語に応じて、キャッシュされたコンテンツに変更を加えるといったことが可能になります。
 
@@ -77,7 +77,7 @@ if ($this->beginCache($id, ['variations' => [Yii::$app->language]])) {
 ```
 
 
-### トグルキャッシュ <a name="toggling-caching"></a>
+### トグルキャッシュ <span id="toggling-caching"></span>
 
 また、ある条件が満たされた場合にのみフラグメントキャッシュを有効にすることもできます。たとえば、フォームが表示されているページに対して、最初の (GET リクエストによる) リクエストの場合だけはキャッシュしたいと思いますが、その後の (POST リクエストによる) フォームの表示では、フォームにユーザ入力が含まれている可能性があるため、キャッシュをすべきではありません。これを行うには、以下のように [[yii\widgets\FragmentCache::enabled|enabled]] オプションをセットします:
 
@@ -91,7 +91,7 @@ if ($this->beginCache($id, ['enabled' => Yii::$app->request->isGet])) {
 ```
 
 
-## キャッシュのネスト <a name="nested-caching"></a>
+## キャッシュのネスト <span id="nested-caching"></span>
 
 フラグメントキャッシュはネストすることができます。つまり、キャッシュされる断片を、より大きなキャッシュされる断片で囲むことができます。例えば、コメントが内側のフラグメントキャッシュ内にキャッシュされ、それらが外側のフラグメントキャッシュに記事内容と一緒にキャッシュされます。以下のコードは 2 つのフラグメントキャッシュをどのようにネストできるかを示したものです:
 
@@ -116,7 +116,7 @@ if ($this->beginCache($id1)) {
 ネストされたキャッシュには、異なるキャッシュオプションを設定することができます。 たとえば、上記の例における内側のキャッシュと外側のキャッシュに対して、異なる持続期間の値を設定する事が可能です。 これによって、外側のキャッシュでキャッシュされたデータが無効になった場合でも、内側のキャッシュが有効な内側の断片を提供することが可能になります。 しかし、その逆は真ではありません。 外側のキャッシュが有効であると判断された場合には、内側のキャッシュが無効になった後でも、外側のキャッシュが古くなったコンテンツのコピーを提供し続けます。 ネストされたキャッシュの持続時間や依存関係の設定を間違うと、無効になった内側のキャッシュデータが外側のキャッシュに残り続けることになるので、注意が必要です。
 
 
-## ダイナミックコンテンツ <a name="dynamic-content"></a>
+## ダイナミックコンテンツ <span id="dynamic-content"></span>
 
 フラグメントキャッシュを使用する際、出力全体が比較的静的で、一ヶ所ないし数ヶ所だけが例外的に動的であるというような状況に遭遇します。例えば、ページ上部にはメインメニューバーと現在のユーザの名前とが一緒に表示される場合があります。他には、リクエスト毎に実行しなければいけない PHP のコードが含まれている場合(例えば、アセットバンドルを登録するためのコード)などです。この両方の問題は、いわゆる *ダイナミックコンテンツ* 機能によって解決することができます。
 
diff --git a/docs/guide-ja/caching-http.md b/docs/guide-ja/caching-http.md
index a5e473a..5336680 100644
--- a/docs/guide-ja/caching-http.md
+++ b/docs/guide-ja/caching-http.md
@@ -10,7 +10,7 @@ HTTP キャッシュ
 * [[yii\filters\HttpCache::cacheControlHeader|Cache-Control]]
 
 
-## `Last-Modified` ヘッダ <a name="last-modified"></a>
+## `Last-Modified` ヘッダ <span id="last-modified"></span>
 
 `Last-Modified` ヘッダは、クライアントがそれをキャッシュする時から、ページが変更されたかどうかを示すために、タイムスタンプを使用しています。
 
@@ -46,7 +46,7 @@ public function behaviors()
 上記のコードは `index` アクションでのみ HTTP キャッシュを有効にしている状態です。投稿の最終更新時刻に基づいて `Last-Modified` を生成する必要があります。ブラウザが初めて `index` ページにアクセスすると、ページはサーバ上で生成されブラウザに送信されます。もしブラウザが再度同じページにアクセスし、その期間中に投稿に変更がない場合は、ブラウザはクライアントサイドにキャッシュしたものを使用するので、サーバはページを再生成することはありません。その結果、サーバサイドのレンダリング処理とページコンテンツの送信は両方ともスキップされます。
 
 
-## `ETag` ヘッダ <a name="etag"></a>
+## `ETag` ヘッダ <span id="etag"></span>
 
 "Entity Tag" (略して `ETag`) ヘッダはページコンテンツを表すためにハッシュを使用します。ページが変更された場合ハッシュも同様に変更されます。サーバサイドで生成されたハッシュとクライアントサイドで保持しているハッシュを比較することによって、ページが変更されたかどうか、また再送信するべきかどうかを決定します。
 
@@ -87,7 +87,7 @@ ETag はリクエスト毎に再評価する必要があるため、負荷の高
 
 > 注意: [RFC 7232](http://tools.ietf.org/html/rfc7232#section-2.4) に準拠して `Etag` と `Last-Modified` ヘッダの両方を設定した場合、`HttpCache` はその両方とも送信します。また、もし `If-None-Match` ヘッダと `If-Modified-Since` ヘッダの両方を送信した場合は前者のみが尊重されます。
 
-## `Cache-Control` ヘッダ <a name="cache-control"></a>
+## `Cache-Control` ヘッダ <span id="cache-control"></span>
 
 `Cache-Control` ヘッダはページのための一般的なキャッシュポリシーを指定します。ヘッダ値に [[yii\filters\HttpCache::cacheControlHeader]] プロパティを設定することで、それを送ることができます。デフォルトでは、以下のヘッダーが送信されます:
 
@@ -95,11 +95,11 @@ ETag はリクエスト毎に再評価する必要があるため、負荷の高
 Cache-Control: public, max-age=3600
 ```
 
-## セッションキャッシュリミッタ<a name="session-cache-limiter"></a>
+## セッションキャッシュリミッタ<span id="session-cache-limiter"></span>
 
 ページでセッションを使用している場合、PHP はいくつかのキャッシュ関連の HTTP ヘッダ(PHP の設定ファイル内で指定されている session.cache_limiter など)を自動的に送信します。これらのヘッダは `HttpCache` で妨害したり、必要なキャッシュを無効にしたりできます。この動作を変更したい場合は [[yii\filters\HttpCache::sessionCacheLimiter]] プロパティを設定します。プロパティには `public`、`private`、`private_no_expire`、そして `nocache` などの文字列の値を使用することができます。これらの値についての説明は [session_cache_limiter()](http://www.php.net/manual/ja/function.session-cache-limiter.php) を参照してください。
 
 
-## SEO への影響 <a name="seo-implications"></a>
+## SEO への影響 <span id="seo-implications"></span>
 
 検索エンジンのボットはキャッシュヘッダを尊重する傾向があります。 クローラの中には、一定期間内に処理するドメインごとのページ数に制限を持っているものもあるため、キャッシュヘッダを導入して、処理の必要があるページ数を減らしてやると、サイトのインデックスの作成を促進できるかも知れません。
diff --git a/docs/guide-ja/concept-aliases.md b/docs/guide-ja/concept-aliases.md
index 74a924c..2637b1e 100644
--- a/docs/guide-ja/concept-aliases.md
+++ b/docs/guide-ja/concept-aliases.md
@@ -5,7 +5,7 @@
 たとえば、 `@yii` というエイリアスは Yii フレームワークのインストールパスを表し、 `@web` は現在実行中の Web アプリケーションのベース URL を表します。
 
 
-エイリアスの定義 <a name="defining-aliases"></a>
+エイリアスの定義 <span id="defining-aliases"></span>
 ----------------
 
 [[Yii::setAlias()]] を呼び出すことにより、ファイルパスまたは URL のエイリアスを定義することができます。
@@ -47,7 +47,7 @@ return [
 ```
 
 
-エイリアスの解決 <a name="resolving-aliases"></a>
+エイリアスの解決 <span id="resolving-aliases"></span>
 -----------------
 
 [[Yii::getAlias()]] を呼び出して、ルートエイリアスが表すファイルパスまたはURLを解決することができます。
@@ -77,7 +77,7 @@ Yii::getAlias('@foo/bar/file.php');   // /path2/bar/file.php を表示
 もし `@foo/bar` がルートエイリアスとして定義されていなければ、最後のステートメントは `/path/to/foo/bar/file.php` を表示します。
 
 
-エイリアスの使用 <a name="using-aliases"></a>
+エイリアスの使用 <span id="using-aliases"></span>
 -------------
 
 エイリアスは、それをパスやURLに変換するための [[Yii::getAlias()​]] の呼び出しがなくても、Yiiの多くの場所でみられます。
@@ -95,7 +95,7 @@ $cache = new FileCache([
 プロパティやメソッドのパラメータがエイリアスをサポートしているかどうかは、API ドキュメントに注意を払ってください。
 
 
-事前定義されたエイリアス <a name="predefined-aliases"></a>
+事前定義されたエイリアス <span id="predefined-aliases"></span>
 ------------------
 
 Yii では、一般的に使用されるフ​​ァイルのパスと URL を簡単に参照できるよう、エイリアスのセットが事前に定義されています:
@@ -112,7 +112,7 @@ Yii では、一般的に使用されるフ​​ァイルのパスと URL を�
 `@yii` エイリアスは [エントリスクリプト](structure-entry-scripts.md) に `Yii.php` ファイルを読み込んだ時点で定義されます。
 エイリアスの残りの部分は、アプリケーションのコンストラクタ内で、アプリケーションの [構成情報](concept-configurations.md) を適用するときに定義されます。
 
-エクステンションのエイリアス <a name="extension-aliases"></a>
+エクステンションのエイリアス <span id="extension-aliases"></span>
 -----------------
 
 Composer でインストールされる各 [エクステンション](structure-extensions.md) ごとに、エイリアスが自動的に定義されます。
diff --git a/docs/guide-ja/concept-autoloading.md b/docs/guide-ja/concept-autoloading.md
index f4d74fe..9f62b98 100644
--- a/docs/guide-ja/concept-autoloading.md
+++ b/docs/guide-ja/concept-autoloading.md
@@ -9,7 +9,7 @@ Yiiは、必要となるすべてのクラスファイルを、特定してイ�
   ここに記述されている内容は、同様に、インタフェースとトレイトのオートロードにも適用されることに注意してください。
 
 
-Yii オートローダーの使用 <a name="using-yii-autoloader"></a>
+Yii オートローダーの使用 <span id="using-yii-autoloader"></span>
 ------------------------
 
 Yii のクラスオートローダーを使用するには、自分のクラスを作成して名前を付けるとき、次の2つの単純なルールに従わなければなりません:
@@ -36,7 +36,7 @@ $classFile = Yii::getAlias('@' . str_replace('\\', '/', $className) . '.php');
 オートロードできるようになります。
 
 
-クラスマップ <a name="class-map"></a>
+クラスマップ <span id="class-map"></span>
 ---------
 
 Yii のクラスオートローダーは、 *クラスマップ* 機能をサポートしており、クラス名を対応するクラスファイルのパスにマップできます。
@@ -54,7 +54,7 @@ Yii::$classMap['foo\bar\MyClass'] = 'path/to/MyClass.php';
 [ブートストラップ](runtime-bootstrapping.md) プロセス内でクラスマップを設定する必要があります。
 
 
-他のオートローダーの使用 <a name="using-other-autoloaders"></a>
+他のオートローダーの使用 <span id="using-other-autoloaders"></span>
 -----------------------
 
 Yii はパッケージ依存関係マネージャとして Composer を包含しているので、Composer のオートローダーもインストールすることをお勧めします。
@@ -77,7 +77,7 @@ require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
   それを [エントリスクリプト](structure-entry-scripts.md) でインクルードする必要があります。
 
 
-エクステンションクラスのオートロード <a name="autoloading-extension-classes"></a>
+エクステンションクラスのオートロード <span id="autoloading-extension-classes"></span>
 -----------------------------
 
 Yii のオートローダーは、 [エクステンション](structure-extensions.md) クラスのオートロードが可能です。唯一の要件は、
diff --git a/docs/guide-ja/concept-behaviors.md b/docs/guide-ja/concept-behaviors.md
index fd75878..c955d25 100644
--- a/docs/guide-ja/concept-behaviors.md
+++ b/docs/guide-ja/concept-behaviors.md
@@ -10,7 +10,7 @@
 ビヘイビアでコンポーネントの通常のコード実行をカスタマイズすることができます。
 
 
-ビヘイビアの定義 <a name="defining-behaviors"></a>
+ビヘイビアの定義 <span id="defining-behaviors"></span>
 ------------------
 
 ビヘイビアを定義するには、 [[yii\base\Behavior]] あるいは子クラスを継承するクラスを作成します。たとえば:
@@ -97,7 +97,7 @@ function ($event) {
 }
 ```
 
-ビヘイビアのアタッチ <a name="attaching-behaviors"></a>
+ビヘイビアのアタッチ <span id="attaching-behaviors"></span>
 -------------------
 
 [[yii\base\Component|component]] へのビヘイビアのアタッチは、静的にも動的にも可能です。実際は、前者のほうがより一般的ですが。
@@ -188,7 +188,7 @@ $component->attachBehaviors([
 
 詳しくは [構成情報](concept-configurations.md#configuration-format) セクションを参照してください。
 
-ビヘイビアの使用 <a name="using-behaviors"></a>
+ビヘイビアの使用 <span id="using-behaviors"></span>
 ---------------
 
 ビヘイビアを使用するには、まず上記の方法に従って [[yii\base\Component|コンポーネント]] にアタッチします。ビヘイビアがコンポーネントにアタッチされれば、その使用方法はシンプルです。
@@ -228,7 +228,7 @@ $behaviors = $component->getBehaviors();
 ```
 
 
-ビヘイビアのデタッチ <a name="detaching-behaviors"></a>
+ビヘイビアのデタッチ <span id="detaching-behaviors"></span>
 -------------------
 
 ビヘイビアをデタッチするには、ビヘイビアに付けられた名前とともに [[yii\base\Component::detachBehavior()]] を呼び出します:
@@ -244,7 +244,7 @@ $component->detachBehaviors();
 ```
 
 
-`TimestampBehavior` の利用 <a name="using-timestamp-behavior"></a>
+`TimestampBehavior` の利用 <span id="using-timestamp-behavior"></span>
 -------------------------
 
 しめくくりに、[[yii\behaviors\TimestampBehavior]] を見てみましょう。このビヘイビアは、
@@ -300,7 +300,7 @@ echo $user->created_at;  // 現在のタイムスタンプが表示される
 $user->touch('login_time');
 ```
 
-ビヘイビアとトレイトの比較 <a name="comparison-with-traits"></a>
+ビヘイビアとトレイトの比較 <span id="comparison-with-traits"></span>
 ----------------------
 
 ビヘイビアは、主となるクラスにそのプロパティやメソッドを「注入する」という点で [トレイト](http://www.php.net/traits)
@@ -308,7 +308,7 @@ $user->touch('login_time');
 それらは代替手段というよりも、むしろ相互補完関係のようなものです。
 
 
-### ビヘイビアを使う理由 <a name="pros-for-behaviors"></a>
+### ビヘイビアを使う理由 <span id="pros-for-behaviors"></span>
 
 ビヘイビアは通常のクラスのように、継承をサポートしています。いっぽうトレイトは、
 言語サポートされたコピー&ペーストとみなすことができます。トレイトは継承をサポートしません。
@@ -324,7 +324,7 @@ $user->touch('login_time');
 別のトレイトが起こした名前競合の場合、影響を受けるプロパティやメソッドの名前変更による、手動での解決が必要です。
 
 
-### トレイトを使う理由 <a name="pros-for-traits"></a>
+### トレイトを使う理由 <span id="pros-for-traits"></span>
 
 ビヘイビアは時間もメモリも食うオブジェクトなので、トレイトはビヘイビアよりはるかに効率的です。
 
diff --git a/docs/guide-ja/concept-configurations.md b/docs/guide-ja/concept-configurations.md
index 9544734..2270ae7 100644
--- a/docs/guide-ja/concept-configurations.md
+++ b/docs/guide-ja/concept-configurations.md
@@ -30,7 +30,7 @@ Yii::configure($object, $config);
 なお、この場合には、構成情報配列に `class` 要素を含んではいけません。
 
 
-## 構成情報の形式 <a name="configuration-format"></a>
+## 構成情報の形式 <span id="configuration-format"></span>
 
 構成情報の形式は、フォーマルには次のように説明できます:
 
@@ -72,14 +72,14 @@ Yii::configure($object, $config);
 ```
 
 
-## 構成情報の使用 <a name="using-configurations"></a>
+## 構成情報の使用 <span id="using-configurations"></span>
 
 構成情報は Yii の多くの場所で使用されています。このセクションの冒頭では、 [[Yii::createObject()]]
 を使って、構成情報に応じてオブジェクトを作成する方法を示しました。このサブセクションでは、
 アプリケーションの構成とウィジェットの構成という、2つの主要な構成情報の用途を説明します。
 
 
-### アプリケーションの構成 <a name="application-configurations"></a>
+### アプリケーションの構成 <span id="application-configurations"></span>
 
 [アプリケーション](structure-applications.md) の構成は、おそらく Yii の中で最も複雑な配列のひとつです。
 それは [[yii\web\Application|application]] クラスが、設定可能なプロパティとイベントを数多く持つためです。
@@ -129,7 +129,7 @@ $config = [
 アプリケーションの `components` プロパティ構成の詳細については、 [アプリケーション](structure-applications.md) セクションと [サービスロケータ](concept-service-locator.md) セクションにあります。
 
 
-### ウィジェットの構成 <a name="widget-configurations"></a>
+### ウィジェットの構成 <span id="widget-configurations"></span>
 
 [ウィジェット](structure-widgets.md) を使用するときは、多くの場合、ウィジェットのプロパティをカスタマイズするために、構成情報を使用する必要があります。
 [[yii\base\Widget::widget()]] と [[yii\base\Widget::begin()]] の両メソッドを使って、ウィジェットを作成できます。それらは、以下のような構成情報配列を取ります。
@@ -153,7 +153,7 @@ echo Menu::widget([
 クラス名がすでに与えられているので、構成情報配列が `class` キーを持つべきではないことに注意してください。
 
 
-## 構成情報ファイル <a name="configuration-files"></a>
+## 構成情報ファイル <span id="configuration-files"></span>
 
 構成情報がとても複雑になる場合、一般的な方法は、 *構成情報ファイル* と呼ばれる、ひとつまたは複数の PHP ファイルにそれを格納することです。
 構成情報ファイルは、構成情報を表す PHP 配列を return します。
@@ -205,7 +205,7 @@ $config = require('path/to/web.php');
 ```
 
 
-## デフォルト設定 <a name="default-configurations"></a>
+## デフォルト設定 <span id="default-configurations"></span>
 
 [[Yii::createObject()]] メソッドは、 [依存性注入コンテナ](concept-di-container.md) をベースに実装されています。
 そのため、指定されたクラスが [[Yii::createObject()]] を使用して作成されるとき、そのすべてのインスタンスに適用される、
@@ -224,7 +224,7 @@ $config = require('path/to/web.php');
 デフォルト設定を使用しなければ、あなたは、リンクページャーを使うすべての箇所で `maxButtonCount` を設定しなければなりません。
 
 
-## 環境定数 <a name="environment-constants"></a>
+## 環境定数 <span id="environment-constants"></span>
 
 構成情報は、多くの場合、アプリケーションが実行される環境に応じて変化します。たとえば、
 開発環境では `mydb_dev` という名前のデータベースを使用し、本番サーバー上では `mydb_prod` データベースを
diff --git a/docs/guide-ja/concept-di-container.md b/docs/guide-ja/concept-di-container.md
index 51508ff..bec68c4 100644
--- a/docs/guide-ja/concept-di-container.md
+++ b/docs/guide-ja/concept-di-container.md
@@ -6,7 +6,7 @@
 ここでは、主に Yii の提供する DI コンテナの使用方法を説明します。
 
 
-依存性注入 <a name="dependency-injection"></a>
+依存性注入 <span id="dependency-injection"></span>
 --------------------
 
 Yii は [[yii\di\Container]] クラスを通して DI コンテナの機能を提供します。これは、次の種類の依存性注入をサポートしています:
@@ -16,7 +16,7 @@ Yii は [[yii\di\Container]] クラスを通して DI コンテナの機能を�
 * PHP コーラブル·インジェクション
 
 
-### コンストラクタ·インジェクション <a name="constructor-injection"></a>
+### コンストラクタ·インジェクション <span id="constructor-injection"></span>
 
 DI コンテナは、コンストラクタパラメータの型ヒントの助けを借りた、コンストラクタ·インジェクションをサポートしています。
 型ヒントは、クラスやインタフェースが新しいオブジェクトの作成で使用されるさい、どれが依存であるのかということをコンテナに教えます。
@@ -38,7 +38,7 @@ $foo = new Foo($bar);
 ```
 
 
-### セッター/プロパティ·インジェクション <a name="setter-and-property-injection"></a>
+### セッター/プロパティ·インジェクション <span id="setter-and-property-injection"></span>
 
 セッター/プロパティ·インジェクションは、[構成情報](concept-configurations.md) を通してサポートされます。
 依存関係を登録するときや、新しいオブジェクトを作成するとき、コンテナが使用する構成情報を提供することができ、
@@ -71,7 +71,7 @@ $container->get('Foo', [], [
 ```
 
 
-### PHP コーラブル・インジェクション <a name="php-callable-injection"></a>
+### PHP コーラブル・インジェクション <span id="php-callable-injection"></span>
 
 この場合、コンテナは、登録された PHP のコーラブルオブジェクトを使用し、クラスの新しいインスタンスを構築します。
 コーラブルは、依存関係を解決し、新しく作成されたオブジェクトに適切にそれらを注入する責任があります。たとえば
@@ -85,7 +85,7 @@ $foo = $container->get('Foo');
 ```
 
 
-依存関係の登録 <a name="registering-dependencies"></a>
+依存関係の登録 <span id="registering-dependencies"></span>
 ------------------------
 
 あなたは、[[yii\di\Container::set()]] 使って依存関係を登録することができます。登録には依存関係の名前だけでなく、
@@ -149,7 +149,7 @@ $container->setSingleton('yii\db\Connection', [
 ```
 
 
-依存関係の解決 <a name="resolving-dependencies"></a>
+依存関係の解決 <span id="resolving-dependencies"></span>
 ----------------------
 
 依存関係を登録すると、新しいオブジェクトを作成するのに DI コンテナを使用することができ、
@@ -239,7 +239,7 @@ $lister = new UserLister($finder);
 ```
 
 
-実際の使いかた <a name="practical-usage"></a>
+実際の使いかた <span id="practical-usage"></span>
 ---------------
 
 あなたのアプリケーションの [エントリスクリプト](structure-entry-scripts.md) で `Yii.php` ファイルをインクルードするとき、
@@ -301,7 +301,7 @@ class HotelController extends Controller
 のインスタンスが作成され、コントローラのコンストラクタに3番目のパラメータとして注入されるようになります。
 
 
-依存関係を登録するときに <a name="when-to-register-dependencies"></a>
+依存関係を登録するときに <span id="when-to-register-dependencies"></span>
 -----------------------------
 
 依存関係は、新しいオブジェクトが作成されるとき必要とされるので、それらの登録は可能な限り早期に行われるべきです。
@@ -313,7 +313,7 @@ class HotelController extends Controller
   依存関係を登録することができます。
 
 
-まとめ <a name="summary"></a>
+まとめ <span id="summary"></span>
 -------
 
 依存性注入と [サービスロケータ](concept-service-locator.md) はともに、疎結合でよりテストしやすい方法でのソフトウェア構築を可能にする、
diff --git a/docs/guide-ja/concept-events.md b/docs/guide-ja/concept-events.md
index 84b06e8..a4b6b48 100644
--- a/docs/guide-ja/concept-events.md
+++ b/docs/guide-ja/concept-events.md
@@ -10,7 +10,7 @@ Yiiはイベントをサポートするために、 [[yii\base\Component]] と�
 [[yii\base\Component]] もしくはその子クラスを継承する必要があります。
 
 
-イベントハンドラ <a name="event-handlers"></a>
+イベントハンドラ <span id="event-handlers"></span>
 --------------
 
 イベントハンドラとは、関連するイベントがトリガされたときに実行される、 [PHP コールバック](http://www.php.net/manual/en/language.types.callable.php)
@@ -36,7 +36,7 @@ function ($event) {
 - [[yii\base\Event::data|カスタムデータ]]: イベントハンドラを接続するときに提供されたデータ (後述)
 
 
-イベントハンドラのアタッチ <a name="attaching-event-handlers"></a>
+イベントハンドラのアタッチ <span id="attaching-event-handlers"></span>
 ------------------------
 
 イベントハンドラは [[yii\base\Component::on()]] を呼び出すことでアタッチできます。たとえば:
@@ -98,7 +98,7 @@ $foo->on(Foo::EVENT_HELLO, function ($event) {
 }, $data, false);
 ```
 
-イベントのトリガー <a name="triggering-events"></a>
+イベントのトリガー <span id="triggering-events"></span>
 -----------------
 
 イベントは、 [[yii\base\Component::trigger()]] メソッドを呼び出すことでトリガされます。このメソッドには **イベント名** が必須で、
@@ -162,7 +162,7 @@ class Mailer extends Component
 アタッチされたハンドラがすべて呼び出されます。
 
 
-イベントハンドラのデタッチ <a name="detaching-event-handlers"></a>
+イベントハンドラのデタッチ <span id="detaching-event-handlers"></span>
 ------------------------
 
 イベントからハンドラを取り外すには、 [[yii\base\Component::off()]] メソッドを呼び出します。たとえば:
@@ -191,7 +191,7 @@ $foo->off(Foo::EVENT_HELLO);
 ```
 
 
-クラスレベル・イベントハンドラ <a name="class-level-event-handlers"></a>
+クラスレベル・イベントハンドラ <span id="class-level-event-handlers"></span>
 --------------------------
 
 ここまでの項では、 *インスタンスレベル* でのイベントにハンドラをアタッチする方法を説明してきました。
@@ -249,7 +249,7 @@ Event::off(Foo::className(), Foo::EVENT_HELLO);
 ```
 
 
-グローバル・イベント <a name="global-events"></a>
+グローバル・イベント <span id="global-events"></span>
 -------------
 
 Yiiは、実際に上記のイベントメカニズムに基づいたトリックである、いわゆる *グローバル・イベント* をサポートしています。
diff --git a/docs/guide-ja/db-dao.md b/docs/guide-ja/db-dao.md
index aa222f6..eb05d58 100644
--- a/docs/guide-ja/db-dao.md
+++ b/docs/guide-ja/db-dao.md
@@ -19,7 +19,7 @@ Yii は下記の DBMS のサポートを内蔵しています。
 - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): バージョン 2008 以上。
 
 
-## DB 接続を作成する <a name="creating-db-connections"></a>
+## DB 接続を作成する <span id="creating-db-connections"></span>
 
 データベースにアクセスするために、まずは、データベースに接続するために [[yii\db\Connection]] のインスタンスを作成する必要があります。
 
@@ -88,7 +88,7 @@ ODBC 経由でデータベースに接続しようとする場合は、[[yii\db\
 > Info|情報: DB 接続のインスタンスを作成するとき、実際のデータベース接続は、最初の SQL を実行するか、[[yii\db\Connection::open()|open()]] メソッドを明示的に呼ぶかするまでは確立されません。
 
 
-## SQL クエリを実行する <a name="executing-sql-queries"></a>
+## SQL クエリを実行する <span id="executing-sql-queries"></span>
 
 いったんデータベース接続のインスタンスを得てしまえば、次の手順に従って SQL クエリを実行することが出来ます。
 
@@ -146,7 +146,7 @@ return [
 ```
 
 
-### パラメータをバインドする <a name="binding-parameters"></a>
+### パラメータをバインドする <span id="binding-parameters"></span>
 
 パラメータを持つ SQL から DB コマンドを作成するときは、SQL インジェクション攻撃を防止するために、ほとんど全ての場合においてパラメータをバインドする手法を用いるべきです。
 例えば、
@@ -207,7 +207,7 @@ $post2 = $command->queryOne();
 このやり方でクエリを実行すると、パラメータの値が違うごとに新しいクエリを実行するのに比べて、はるかに効率が良くすることが出来ます。
 
 
-### SELECT しないクエリを実行する <a name="non-select-queries"></a>
+### SELECT しないクエリを実行する <span id="non-select-queries"></span>
 
 今までのセクションで紹介した `queryXyz()` メソッドは、すべて、データベースからデータを取得する SELECT クエリを扱うものでした。
 データを返さないクエリのためには、代りに [[yii\db\Command::execute()]] メソッドを呼ばなければなりません。
@@ -250,7 +250,7 @@ $db->createCommand()->batchInsert('user', ['name', 'age'], [
 ])->execute();
 ```
 
-## テーブルとカラムの名前を引用符で囲む <a name="quoting-table-and-column-names"></a>
+## テーブルとカラムの名前を引用符で囲む <span id="quoting-table-and-column-names"></span>
 
 特定のデータベースに依存しないコードを書くときには、テーブルとカラムの名前を適切に引用符で囲むことが、たいてい、頭痛の種になります。
 データベースによって名前を引用符で囲む規則がさまざまに異なるからです。
@@ -268,7 +268,7 @@ $count = $db->createCommand("SELECT COUNT([[id]]) FROM {{employee}}")
             ->queryScalar();
 ```
 
-### テーブルプレフィックスを使う <a name="using-table-prefix"></a>
+### テーブルプレフィックスを使う <span id="using-table-prefix"></span>
 
 あなたの DB テーブルのほとんどが何か共通のプレフィックスを持っている場合は、Yii DAO によってサポートされているテーブルプレフィックスの機能を使うことが出来ます。
 
@@ -297,7 +297,7 @@ $count = $db->createCommand("SELECT COUNT([[id]]) FROM {{%employee}}")
             ->queryScalar();
 ```
 
-## トランザクションを実行する <a name="performing-transactions"></a>
+## トランザクションを実行する <span id="performing-transactions"></span>
 
 一続きになった複数の関連するクエリを実行するときは、データの整合性を一貫性を保証するために、一連のクエリをトランザクションで囲む必要がある場合があります。
 一連のクエリのどの一つが失敗した場合でも、データベースは、何一つクエリが実行されなかったかのような状態へとロールバックされます。
@@ -339,7 +339,7 @@ try {
 そうでなければ、例外がトリガされてキャッチされ、[[yii\db\Transaction::rollBack()|rollBack()]] が呼ばれて、失敗したクエリに先行するクエリがトランザクションの中で行った変更がロールバックされます。
 
 
-### 分離レベルを指定する <a name="specifying-isolation-levels"></a>
+### 分離レベルを指定する <span id="specifying-isolation-levels"></span>
 
 Yii は、トランザクションの [分離レベル] の設定もサポートしています。
 デフォルトでは、新しいトランザクションを開始したときは、データベースシステムによって設定された分離レベルを使用します。
@@ -380,7 +380,7 @@ DBMS によっては、接続全体に対してのみ分離レベルの設定を
 
 [分離レベル]: http://ja.wikipedia.org/wiki/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%86%E9%9B%A2%E3%83%AC%E3%83%99%E3%83%AB
 
-### トランザクションを入れ子にする <a name="nesting-transactions"></a>
+### トランザクションを入れ子にする <span id="nesting-transactions"></span>
 
 あなたの DBMS が Savepoint をサポートしている場合は、次のように、複数のトランザクションを入れ子にすることが出来ます。
 
@@ -416,7 +416,7 @@ try {
 ```
 
 
-## レプリケーションと読み書きの分離 <a name="read-write-splitting"></a>
+## レプリケーションと読み書きの分離 <span id="read-write-splitting"></span>
 
 多くの DBMS は、データベースの可用性とサーバのレスポンスタイムを向上させるために、[データベースレプリケーション](http://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3#.E3.83.87.E3.83.BC.E3.82.BF.E3.83.99.E3.83.BC.E3.82.B9) をサポートしています。
 データベースレプリケーションによって、データはいわゆる *マスタサーバ* から *スレーブサーバ* に複製されます。
@@ -567,7 +567,7 @@ $rows = $db->useMaster(function ($db) {
 直接に `$db->enableSlaves` を false に設定して、全てのクエリをマスタ接続に向けることも出来ます。
 
 
-## データベーススキーマを扱う <a name="database-schema"></a>
+## データベーススキーマを扱う <span id="database-schema"></span>
 
 Yii DAO は、新しいテーブルを作ったり、テーブルからカラムを削除したりなど、データベーススキーマを操作することを可能にする一揃いのメソッドを提供しています。
 以下がそのソッドのリストです。
diff --git a/docs/guide-ja/helper-array.md b/docs/guide-ja/helper-array.md
index 850993a..55ee901 100644
--- a/docs/guide-ja/helper-array.md
+++ b/docs/guide-ja/helper-array.md
@@ -4,7 +4,7 @@ ArrayHelper
 [PHP の充実した配列関数](http://php.net/manual/ja/book.array.php) への追加として、Yii の配列ヘルパは、配列をさらに効率的に扱うことを可能にするスタティックなメソッドを提供しています。
 
 
-## 値を取得する <a name="getting-values"></a>
+## 値を取得する <span id="getting-values"></span>
 
 配列、オブジェクト、またはその両方から成る複雑な構造から値を取得することは、標準的な PHP を使う場合、何度も繰り返さねばならない面倒くさい仕事です。
 最初に `isset` でキーの存在をチェックしなければならず、次に、キーが存在していれば値を取得し、存在していなければ、デフォルト値を提供しなければなりません。
@@ -63,7 +63,7 @@ $type = ArrayHelper::remove($array, 'type');
 `getValue` メソッドとは違って、`remove` は単純なキー名だけをサポートすることに注意してください。
 
 
-## キーの存在をチェックする <a name="checking-existence-of-keys"></a>
+## キーの存在をチェックする <span id="checking-existence-of-keys"></span>
 
 `ArrayHelper::keyExists` は、大文字と小文字を区別しないキーの比較をサポートすることを除いて、[array_key_exists](http://php.net/manual/ja/function.array-key-exists.php) と同じ動作をします。
 例えば、
@@ -82,7 +82,7 @@ if (!ArrayHelper::keyExists('username', $data1, false) || !ArrayHelper::keyExist
 }
 ```
 
-## カラムを取得する <a name="retrieving-columns"></a>
+## カラムを取得する <span id="retrieving-columns"></span>
 
 データ行またはオブジェクトの配列から、あるカラムの値を取得する必要があることがよくあります。
 良くある例は、ID のリストの取得です。
@@ -106,7 +106,7 @@ $result = ArrayHelper::getColumn($array, function ($element) {
 ```
 
 
-## 配列を再インデックスする <a name="reindexing-arrays"></a>
+## 配列を再インデックスする <span id="reindexing-arrays"></span>
 
 指定されたキーに従って配列にインデックスを付けるために、`index` メソッドを使うことが出来ます。
 入力値の配列は、多次元配列であるか、オブジェクトの配列でなければなりません。
@@ -134,7 +134,7 @@ $result = ArrayHelper::index($array, function ($element) {
 ```
 
 
-## マップを作成する <a name="building-maps"></a>
+## マップを作成する <span id="building-maps"></span>
 
 多次元配列またはオブジェクトの配列からマップ (キー-値 のペア) を作成するためには `map` メソッドを使うことが出来ます。
 `$from` と `$to` のパラメータで、マップを構成するキー名またはプロパティ名を指定します。
@@ -170,7 +170,7 @@ $result = ArrayHelper::map($array, 'id', 'name', 'class');
 ```
 
 
-## 多次元配列の並べ替え <a name="multidimensional-sorting"></a>
+## 多次元配列の並べ替え <span id="multidimensional-sorting"></span>
 
 `multisort` メソッドは、オブジェクトの配列または入れ子にされた配列を、一つまたは複数のキーによって並べ替えることを手助けします。
 例えば、
@@ -210,7 +210,7 @@ ArrayHelper::multisort($data, function($item) {
 最後の引数は並べ替えのフラグで、PHP の [sort()](http://php.net/manual/ja/function.sort.php) 関数に渡されるのと同じ値を取ることが出来ます。
 
 
-## 配列の型を検出する <a name="detecting-array-types"></a>
+## 配列の型を検出する <span id="detecting-array-types"></span>
 
 配列が添字配列であるか連想配列であるかを知ることが出来ると便利です。例を挙げましょう。
 
@@ -225,7 +225,7 @@ echo ArrayHelper::isAssociative($associative);
 ```
 
 
-## 値を HTML エンコード / デコードする <a name="html-encoding-values"></a>
+## 値を HTML エンコード / デコードする <span id="html-encoding-values"></span>
 
 文字列の配列の中にある特殊文字を HTML エンティティ にエンコード、または、HTML エンティティからデコードするために、下記の関数を使うことが出来ます。
 
@@ -239,7 +239,7 @@ $decoded = ArrayHelper::htmlDecode($data);
 エンコードにはアプリケーションの文字セットが使用されますが、三番目の引数によってそれを変更することも出来ます。
 
 
-## 配列をマージする <a name="merging-arrays"></a>
+## 配列をマージする <span id="merging-arrays"></span>
 
 ```php
   /**
@@ -256,7 +256,7 @@ $decoded = ArrayHelper::htmlDecode($data);
 ```
 
 
-## オブジェクトを配列に変換する <a name="converting-objects-to-arrays"></a>
+## オブジェクトを配列に変換する <span id="converting-objects-to-arrays"></span>
 
 オブジェクトまたはオブジェクトの配列を配列に変換する必要があることがよくあります。
 最もよくあるのは、REST API によってデータ配列を提供するなどの目的で、アクティブレコードモデルを変換する場合です。
diff --git a/docs/guide-ja/helper-html.md b/docs/guide-ja/helper-html.md
index 2f084bd..f736a27 100644
--- a/docs/guide-ja/helper-html.md
+++ b/docs/guide-ja/helper-html.md
@@ -10,13 +10,13 @@ Yii はそのような手助けを Html ヘルパの形式で提供します。
 > 何でもかんでも Html ヘルパの呼び出しでラップする必要はありません。
 
 
-## 基礎 <a name="basics"></a>
+## 基礎 <span id="basics"></span>
 
 動的な HTML を文字列の連結によって構築していると、あっという間に乱雑なコードになります。
 そのため、Yii はタグのオプションを操作し、それらのオプションに基づいてタグを構築する一連のメソッドを提供します。
 
 
-### タグを生成する <a name="generating-tags"></a>
+### タグを生成する <span id="generating-tags"></span>
 
 タグを生成するコードは次のようなものです。
 
@@ -52,7 +52,7 @@ Yii はそのような手助けを Html ヘルパの形式で提供します。
   すなわち、`'data' => ['params' => ['id' => 1, 'name' => 'yii'], 'status' => 'ok']` は `data-params='{"id":1,"name":"yii"}' data-status="ok"` となります。
 
 
-### CSS のクラスとスタイルを形成する <a name="forming-css"></a>
+### CSS のクラスとスタイルを形成する <span id="forming-css"></span>
 
 HTML タグのオプションを構築する場合、たいていは、デフォルトの値から始めて必要な修正をする、という方法をとります。
 CSS クラスを追加または削除するために、次のコードを使用することが出来ます。
@@ -89,7 +89,7 @@ Html::removeCssStyle($options, ['width', 'height']);
 プロパティが一つだけである場合は、文字列で指定することも出来ます。
 
 
-### コンテントをエンコードおよびデコードする <a name="encoding-and-decoding-content"></a>
+### コンテントをエンコードおよびデコードする <span id="encoding-and-decoding-content"></span>
 
 コンテントが適切かつ安全に HTML として表示されるためには、コンテント内の特殊文字がエンコードされなければなりません。
 特殊文字のエンコードとデコードは、PHP では [htmlspecialchars](http://www.php.net/manual/ja/function.htmlspecialchars.php) と [htmlspecialchars_decode](http://www.php.net/manual/ja/function.htmlspecialchars-decode.php) によって行われます。
@@ -104,7 +104,7 @@ $decodedUserName = Html::decode($userName);
 ```
 
 
-## フォーム <a name="forms"></a>
+## フォーム <span id="forms"></span>
 
 フォームのマークアップを扱う仕事は、極めて面倒くさく、エラーを生じがちなものです。
 このため、フォームのマークアップの仕事を助けるための一群のメソッドがあります。
@@ -112,7 +112,7 @@ $decodedUserName = Html::decode($userName);
 > Note|注意: モデルを扱っており、バリデーションが必要である場合は、[[yii\widgets\ActiveForm|ActiveForm]] を使うことを検討してください。
 
 
-### フォームを作成する <a name="creating-forms"></a>
+### フォームを作成する <span id="creating-forms"></span>
 
 フォームを開始するためには、次のように [[yii\helpers\Html::beginForm()|beginForm()]] メソッドを使うことが出来ます。
 
@@ -134,7 +134,7 @@ $decodedUserName = Html::decode($userName);
 ```
 
 
-### ボタン <a name="buttons"></a>
+### ボタン <span id="buttons"></span>
 
 ボタンを生成するためには、次のコードを使うことが出来ます。
 
@@ -148,7 +148,7 @@ $decodedUserName = Html::decode($userName);
 タイトルはエンコードされませんので、エンドユーザからデータを取得する場合は [[yii\helpers\Html::encode()|Html::encode()]] を使ってエンコードしてください。
 
 
-### インプットフィールド <a name="input-fields"></a>
+### インプットフィールド <span id="input-fields"></span>
 
 インプットのメソッドには二つのグループがあります。
 一つは `active` から始まるものでアクティブインプットと呼ばれます。もう一方は `active` から始まらないものです。
@@ -213,7 +213,7 @@ $decodedUserName = Html::decode($userName);
 ```
 
 
-### ラベルとエラー <a name="labels-and-errors"></a>
+### ラベルとエラー <span id="labels-and-errors"></span>
 
 インプットと同じように、ラベルを生成するメソッドが二つあります。
 モデルからデータを取るアクティブなラベルと、データを直接受け入れるアクティブでないラベルです。
@@ -236,7 +236,7 @@ $decodedUserName = Html::decode($userName);
 ```
 
 
-### インプットの名前と値 <a name="input-names-and-values"></a>
+### インプットの名前と値 <span id="input-names-and-values"></span>
 
 モデルに基づいてインプットフィールドの名前、ID、値を取得するメソッドがあります。
 これらは主として内部的に使用されるものですが、場合によっては重宝します。
@@ -271,7 +271,7 @@ echo Html::getAttributeName('dates[0]');
 ```
 
 
-## スタイルとスクリプト <a name="styles-and-scripts"></a>
+## スタイルとスクリプト <span id="styles-and-scripts"></span>
 
 埋め込みのスタイルとスクリプトをラップするタグを生成するメソッドが二つあります。
 
@@ -321,7 +321,7 @@ CSS と同じように、最初の引数はインクルードされるファイ�
 オプションに置いて、`cssFile` のオプションと同じように、`condition` を指定することが出来ます。
 
 
-## ハイパーリンク <a name="hyperlinks"></a>
+## ハイパーリンク <span id="hyperlinks"></span>
 
 ハイパーリンクを手軽に生成できるメソッドがあります。
 
@@ -342,7 +342,7 @@ CSS と同じように、最初の引数はインクルードされるファイ�
 ```
 
 
-## 画像 <a name="images"></a>
+## 画像 <span id="images"></span>
 
 イメージタグを生成するためには次のようにします。
 
@@ -358,7 +358,7 @@ CSS と同じように、最初の引数はインクルードされるファイ�
 [Url::to()](helper-url.md) と同様です。
 
 
-## リスト <a name="lists"></a>
+## リスト <span id="lists"></span>
 
 順序なしリストは、次のようにして生成することが出来ます。
 
diff --git a/docs/guide-ja/helper-overview.md b/docs/guide-ja/helper-overview.md
index e454c11..5c48fc7 100644
--- a/docs/guide-ja/helper-overview.md
+++ b/docs/guide-ja/helper-overview.md
@@ -40,7 +40,7 @@ echo Html::encode('Test > test');
 - VarDumper
 
 
-ヘルパクラスをカスタマイズする <a name="customizing-helper-classes"></a>
+ヘルパクラスをカスタマイズする <span id="customizing-helper-classes"></span>
 ------------------------------
 
 コアヘルパクラス (例えば [[yii\helpers\ArrayHelper]]) をカスタマイズするためには、そのヘルパに対応する基底クラス (例えば [[yii\helpers\BaseArrayHelper]]) を拡張するクラスを作成して、名前空間も含めて、対応する具象クラス (例えば [[yii\helpers\ArrayHelper]]) と同じ名前を付けます。
diff --git a/docs/guide-ja/helper-url.md b/docs/guide-ja/helper-url.md
index 6d976b1..a044d12 100644
--- a/docs/guide-ja/helper-url.md
+++ b/docs/guide-ja/helper-url.md
@@ -4,7 +4,7 @@ Url ヘルパ
 Url ヘルパは URL を管理するための一連のスタティックメソッドを提供します。
 
 
-## よく使う URL を取得する <a name="getting-common-urls"></a>
+## よく使う URL を取得する <span id="getting-common-urls"></span>
 
 よく使う URL を取得するために使うことが出来るメソッドが二つあります。
 すなわち、ホーム URL と、現在のリクエストのベース URL を取得するメソッドです。
@@ -31,7 +31,7 @@ $httpsAbsoluteBaseUrl = Url::base('https');
 このメソッドの唯一のパラメータは、`Url::home()` の場合と全く同じ動作をします。
 
 
-## URL を生成する <a name="creating-urls"></a>
+## URL を生成する <span id="creating-urls"></span>
 
 与えられたルートへの URL を生成するためには、`Url::toRoute()` メソッドを使います。
 このメソッドは、[[\yii\web\UrlManager]] を使って URL を生成します。
@@ -150,7 +150,7 @@ echo Url::current(['id' => 100]);
 ```
 
 
-## URL を記憶する <a name="remember-urls"></a>
+## URL を記憶する <span id="remember-urls"></span>
 
 URL を記憶して、後に続く一連のリクエストの一つを処理するときに、記憶した URL を使わなければならないという場合があります。
 これは、次のようにして達成することが出来ます。
@@ -173,7 +173,7 @@ $url = Url::previous();
 $productUrl = Url::previous('product');
 ```
 
-## 相対 URL かどうかチェックする <a name="checking-relative-urls"></a>
+## 相対 URL かどうかチェックする <span id="checking-relative-urls"></span>
 
 URL が相対 URL であること、すなわち、URL がホスト情報の部分を持っていないことを確かめるために、次のコードを使うことが出来ます。
 
diff --git a/docs/guide-ja/input-validation.md b/docs/guide-ja/input-validation.md
index 1388e77..e9ec1a5 100644
--- a/docs/guide-ja/input-validation.md
+++ b/docs/guide-ja/input-validation.md
@@ -22,7 +22,7 @@ if ($model->validate()) {
 }
 ```
 
-## 規則を宣言する <a name="declaring-rules"></a>
+## 規則を宣言する <span id="declaring-rules"></span>
 
 `validate()` を現実に動作させるためには、検証する予定の属性に対してバリデーション規則を宣言しなければなりません。
 規則は [[yii\base\Model::rules()]] メソッドをオーバーライドすることで宣言します。
@@ -89,7 +89,7 @@ public function rules()
 属性は、上記のバリデーションのステップに従って、`scenarios()` でアクティブな属性であると宣言されており、かつ、`rules()` で宣言された一つまたは複数のアクティブな規則と関連付けられている場合に、また、その場合に限って、検証されます。
 
 
-### エラーメッセージをカスタマイズする <a name="customizing-error-messages"></a>
+### エラーメッセージをカスタマイズする <span id="customizing-error-messages"></span>
 
 たいていのバリデータはデフォルトのエラーメッセージを持っていて、属性のバリデーションが失敗した場合にそれを検証の対象であるモデルに追加します。
 例えば、[[yii\validators\RequiredValidator|required]] バリデータは、このバリデータを使って `username` 属性を検証したとき、規則に合致しない場合は「ユーザ名は空ではいけません。」というエラーメッセージをモデルに追加します。
@@ -110,7 +110,7 @@ public function rules()
 これらのエラーメッセージも、バリデータの他のプロパティと同様、バリデーション規則の中で構成することが出来ます。
 
 
-### バリデーションのイベント <a name="validation-events"></a>
+### バリデーションのイベント <span id="validation-events"></span>
 
 [[yii\base\Model::validate()]] は、呼び出されると、バリデーションプロセスをカスタマイズするためにオーバーライドできる二つのメソッドを呼び出します。
 
@@ -121,7 +121,7 @@ public function rules()
   このメソッドをオーバーライドするか、または、イベントに反応して、バリデーションが完了した後に、何らかの後処理をすることが出来ます。
 
 
-### 条件付きバリデーション <a name="conditional-validation"></a>
+### 条件付きバリデーション <span id="conditional-validation"></span>
 
 特定の条件が満たされる場合に限って属性を検証したい場合、例えば、ある属性のバリデーションが他の属性の値に依存する場合には、[[yii\validators\Validator::when|when]] プロパティを使って、そのような条件を定義することが出来ます。
 例えば、
@@ -160,7 +160,7 @@ function ($model, $attribute)
 ```
 
 
-### データのフィルタリング <a name="data-filtering"></a>
+### データのフィルタリング <span id="data-filtering"></span>
 
 ユーザ入力をフィルタまたは前処理する必要があることがよくあります。
 例えば、`username` の入力値の前後にある空白を除去したいというような場合です。
@@ -179,7 +179,7 @@ function ($model, $attribute)
 お分かりかと思いますが、これらのバリデーション規則は実際には入力を検証しません。そうではなくて、検証される属性の値を処理して書き戻すのです。
 
 
-### 空の入力値を扱う <a name="handling-empty-inputs"></a>
+### 空の入力値を扱う <span id="handling-empty-inputs"></span>
 
 HTML フォームから入力データが送信されたとき、入力値が空である場合には何らかのデフォルト値を割り当てなければならないことがよくあります。
 [default](tutorial-core-validators.md#default) バリデータを使ってそうすることが出来ます。
@@ -212,7 +212,7 @@ HTML フォームから入力データが送信されたとき、入力値が空
   [コアバリデータ](tutorial-core-validators.md) の中では、`captcha`、`default`、`filter`、`required`、そして `trim` だけが空の入力値を処理します。
 
 
-## アドホックなバリデーション <a name="ad-hoc-validation"></a>
+## アドホックなバリデーション <span id="ad-hoc-validation"></span>
 
 時として、何らかのモデルに結び付けられていない値に対する *アドホックなバリデーション* を実行しなければならない場合があります。
 
@@ -275,13 +275,13 @@ public function actionSearch($name, $email)
 また、このモデルのインスタンスによって定義された動的な属性に対しても、例えば `$model->name` や `$model->email` のようにして、アクセスすることが出来ます。
 
 
-## バリデータを作成する <a name="creating-validators"></a>
+## バリデータを作成する <span id="creating-validators"></span>
 
 Yii のリリースに含まれている [コアバリデータ](tutorial-core-validators.md) を使う以外に、あなた自身のバリデータを作成することも出来ます。
 インラインバリデータとスタンドアロンバリデータを作ることが出来ます。
 
 
-### インラインバリデータ <a name="inline-validators"></a>
+### インラインバリデータ <span id="inline-validators"></span>
 
 インラインバリデータは、モデルのメソッドまたは無名関数として定義されるバリデータです。
 メソッド/関数 のシグニチャは、
@@ -341,7 +341,7 @@ class MyForm extends Model
 > ```
 
 
-### スタンドアロンバリデータ <a name="standalone-validators"></a>
+### スタンドアロンバリデータ <span id="standalone-validators"></span>
 
 スタンドアロンバリデータは、[[yii\validators\Validator]] またはその子クラスを拡張するクラスです。
 [[yii\validators\Validator::validateAttribute()]] メソッドをオーバーライドすることによって、その検証ロジックを実装することが出来ます。
@@ -370,7 +370,7 @@ class CountryValidator extends Validator
 と言うのは、前の二つは、デフォルトでは、`validateValue()` を呼び出すことによって実装されているからです。
 
 
-## クライアント側でのバリデーション <a name="client-side-validation"></a>
+## クライアント側でのバリデーション <span id="client-side-validation"></span>
 
 エンドユーザが HTML フォームで値を入力する際には、JavaScript に基づくクライアント側でのバリデーションを提供することが望まれます。
 というのは、クライアント側でのバリデーションは、ユーザが入力のエラーを早く見つけることが出来るようにすることによって、より良いユーザ体験を提供するものだからです。
@@ -382,7 +382,7 @@ class CountryValidator extends Validator
   この理由により、これまでの項で説明したように、常に [[yii\base\Model::validate()]] を呼び出してサーバ側でのバリデーションを実行しなければなりません。
 
 
-### クライアント側でのバリデーションを使う <a name="using-client-side-validation"></a>
+### クライアント側でのバリデーションを使う <span id="using-client-side-validation"></span>
 
 多くの [コアバリデータ](tutorial-core-validators.md) は、そのままで、クライアント側でのバリデーションをサポートしています。
 あなたがする必要があるのは、[[yii\widgets\ActiveForm]] を使って HTML フォームを作るということだけです。
@@ -441,7 +441,7 @@ class LoginForm extends Model
 また、個々の入力フィールドごとにクライアント側のバリデーションを無効にしたい場合は、入力フィールドの [[yii\widgets\ActiveField::enableClientValidation]] プロパティを false に設定することも出来ます。
 
 
-### クライアント側バリデーションを実装する <a name="implementing-client-side-validation"></a>
+### クライアント側バリデーションを実装する <span id="implementing-client-side-validation"></span>
 
 クライアント側バリデーションをサポートするバリデータを作成するためには、クライアント側でのバリデーションを実行する JavaScript コードを返す [[yii\validators\Validator::clientValidateAttribute()]] メソッドを実装しなければなりません。
 その JavaScript の中では、次の事前定義された変数を使用することが出来ます。
@@ -499,7 +499,7 @@ JS;
 > ]
 > ```
 
-### Deferred バリデーション <a name="deferred-validation"></a>
+### Deferred バリデーション <span id="deferred-validation"></span>
 
 非同期のクライアント側バリデーションをサポートする必要がある場合は、[Defered オブジェクト](http://api.jquery.com/category/deferred-object/) を作成することが出来ます。
 例えば、AJAX によるカスタムバリデーションを実行するために、次のコードを使うことが出来ます。
@@ -575,7 +575,7 @@ JS;
 ```
 
 
-### AJAX バリデーション <a name="ajax-validation"></a>
+### AJAX バリデーション <span id="ajax-validation"></span>
 
 場合によっては、サーバだけが必要な情報を持っているために、サーバ側でしか検証が実行できないことがあります。
 例えば、ユーザ名がユニークであるか否かを検証するためには、サーバ側で user テーブルを調べることが必要になります。
diff --git a/docs/guide-ja/output-data-widgets.md b/docs/guide-ja/output-data-widgets.md
index 6e8fd5e..546a353 100644
--- a/docs/guide-ja/output-data-widgets.md
+++ b/docs/guide-ja/output-data-widgets.md
@@ -188,7 +188,7 @@ Yii によって提供されるカラムクラスを以下で見ていきます�
 - `filterOptions`
 - `contentOptions`
 
-#### データカラム <a name="data-column"></a>
+#### データカラム <span id="data-column"></span>
 
 データカラムは、データの表示と並べ替えに使用されます。
 これがデフォルトのカラムタイプですので、これを使用するときはクラスの指定を省略することが出来ます。
diff --git a/docs/guide-ja/output-formatter.md b/docs/guide-ja/output-formatter.md
index 83ec601..f038757 100644
--- a/docs/guide-ja/output-formatter.md
+++ b/docs/guide-ja/output-formatter.md
@@ -59,7 +59,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // 出力: 2014/01/01
 > 64-bit のシステムでは、インストールされていれば、全ての場合に intl フォーマッタが使用されます。
 
 
-フォーマッタを構成する <a name="configuring-format"></a>
+フォーマッタを構成する <span id="configuring-format"></span>
 ----------------------
 
 フォーマットメソッドによって使われるデフォルトの書式は、[[yii\i18n\Formatter|フォーマッタクラス]] のプロパティを使って調整することが出来ます。
@@ -78,7 +78,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // 出力: 2014/01/01
 ],
 ```
 
-日時の値をフォーマットする <a name="date-and-time"></a>
+日時の値をフォーマットする <span id="date-and-time"></span>
 --------------------------
 
 フォーマッタクラスは日時の値をフォーマットするさまざまなメソッドを提供しています。すなわち、
@@ -118,7 +118,7 @@ echo Yii::$app->formatter->asDate('now', 'yyyy-MM-dd'); // 2014-10-06
 echo Yii::$app->formatter->asDate('now', 'php:Y-m-d'); // 2014-10-06
 ```
 
-### タイムゾーン <a name="time-zones"></a>
+### タイムゾーン <span id="time-zones"></span>
 
 日時の値をフォーマットするときに、Yii はその値を [[yii\i18n\Formatter::timeZone|設定されたタイムゾーン]] に変換します。
 従って、入力値は、タイムゾーンが明示的に指定されていなければ、UTC であると見なされます。
@@ -140,7 +140,7 @@ echo Yii::$app->formatter->asTime('2014-10-06 21:41:00 JST'); // 21:41:00
 > [PHP 環境を国際化のために設定する](tutorial-i18n.md#setup-environment) も参照してください。
 
 
-数値をフォーマットする <a name="numbers"></a>
+数値をフォーマットする <span id="numbers"></span>
 ----------------------
 
 数値をフォーマットするために、フォーマッタクラスは次のメソッドを提供しています。
@@ -166,7 +166,7 @@ echo Yii::$app->formatter->asTime('2014-10-06 21:41:00 JST'); // 21:41:00
 ]
 ```
 
-その他のフォーマッタ  <a name="other"></a>
+その他のフォーマッタ  <span id="other"></span>
 --------------------
 
 日付、時刻、そして、数値の他にも、Yii はさまざまな状況で使える一連のフォーマッタを提供しています。
@@ -185,7 +185,7 @@ echo Yii::$app->formatter->asTime('2014-10-06 21:41:00 JST'); // 21:41:00
   デフォルトでは、`true` は `Yes`、`false` は `No` とレンダリングされ、現在のアプリケーションの言語に翻訳されます。
   この振る舞いは [[yii\i18n\Formatter::booleanFormat]] プロパティを構成して調整できます。
 
-`null` 値 <a name="null-values"></a>
+`null` 値 <span id="null-values"></span>
 ---------
 
 PHP において `null` である値に対して、フォーマッタクラスは空文字ではなくプレースホルダを表示します。
diff --git a/docs/guide-ja/rest-authentication.md b/docs/guide-ja/rest-authentication.md
index 6939212..b04b065 100644
--- a/docs/guide-ja/rest-authentication.md
+++ b/docs/guide-ja/rest-authentication.md
@@ -105,7 +105,7 @@ class User extends ActiveRecord implements IdentityInterface
 認証が失敗したときは、HTTP ステータス 401 およびその他の適切なヘッダ (HTTP Basic 認証に対する `WWW-Authenticate` ヘッダなど) を持つレスポンスが送り返されます。
 
 
-## 権限付与 <a name="authorization"></a>
+## 権限付与 <span id="authorization"></span>
 
 ユーザが認証された後、リクエストされたリソースに対してリクエストされたアクションを実行する許可を彼または彼女が持っているかどうかをチェックしたい場合があるでしょう。
 *権限付与* と呼ばれるこのプロセスについては、[権限付与](security-authorization.md) のセクションで詳細に説明されています。
diff --git a/docs/guide-ja/rest-controllers.md b/docs/guide-ja/rest-controllers.md
index 3ce4112..f49af49 100644
--- a/docs/guide-ja/rest-controllers.md
+++ b/docs/guide-ja/rest-controllers.md
@@ -23,7 +23,7 @@ Yii は、RESTful アクションを作成する仕事を簡単にするため�
 * リクエストされたアクションとリソースに関するユーザへの権限付与
 
 
-## コントローラクラスを作成する <a name="creating-controller"></a>
+## コントローラクラスを作成する <span id="creating-controller"></span>
 
 新しいコントローラクラスを作成する場合、コントローラクラスの命名規約は、リソースの型の名前を単数形で使う、というものです。
 例えば、ユーザの情報を提供するコントローラは `UserController` と名付けることが出来ます。
@@ -41,7 +41,7 @@ public function actionView($id)
 ```
 
 
-## フィルタ <a name="filters"></a>
+## フィルタ <span id="filters"></span>
 
 [[yii\rest\Controller]] によって提供される RESTful API 機能のほとんどは [フィルタ](structure-filters.md) の形で実装されています。
 具体的に言うと、次のフィルタがリストされた順に従って実行されます。
@@ -72,13 +72,13 @@ public function behaviors()
 ```
 
 
-## `ActiveController` を拡張する <a name="extending-active-controller"></a>
+## `ActiveController` を拡張する <span id="extending-active-controller"></span>
 
 コントローラを [[yii\rest\ActiveController]] から拡張する場合は、このコントローラを通じて提供しようとしているリソースクラスの名前を [[yii\rest\ActiveController::modelClass||modelClass]] プロパティにセットしなければなりません。
 リソースクラスは [[yii\db\ActiveRecord]] から拡張しなければなりません。
 
 
-### アクションをカスタマイズする <a name="customizing-actions"></a>
+### アクションをカスタマイズする <span id="customizing-actions"></span>
 
 デフォルトでは、[[yii\rest\ActiveController]] は次のアクションを提供します。
 
@@ -116,7 +116,7 @@ public function prepareDataProvider()
 どういう構成オプションが利用できるかを学ぶためには、個々のアクションクラスのリファレンスを参照してください。
 
 
-### アクセスチェックを実行する <a name="performing-access-check"></a>
+### アクセスチェックを実行する <span id="performing-access-check"></span>
 
 RESTful API によってリソースを公開するときには、たいてい、現在のユーザがリクエストしているリソースにアクセスしたり操作したりする許可を持っているか否かをチェックする必要があります。
 これは、[[yii\rest\ActiveController]] を使う場合は、[[yii\rest\ActiveController::checkAccess()|checkAccess()]] メソッドを次のようにオーバーライドすることによって出来ます。
diff --git a/docs/guide-ja/rest-error-handling.md b/docs/guide-ja/rest-error-handling.md
index b4a30b8..9fc65ea 100644
--- a/docs/guide-ja/rest-error-handling.md
+++ b/docs/guide-ja/rest-error-handling.md
@@ -41,7 +41,7 @@ Content-Type: application/json; charset=UTF-8
 * `500`: 内部的サーバエラー。これは内部的なプログラムエラーによって生じ得ます。
 
 
-## エラーレスポンスをカスタマイズする <a name="customizing-error-response"></a>
+## エラーレスポンスをカスタマイズする <span id="customizing-error-response"></span>
 
 場合によっては、デフォルトのエラーレスポンス形式をカスタマイズしたいことがあるでしょう。
 例えば、さまざまな HTTP ステータスを使ってさまざまなエラーを示すという方法によるのではなく、次に示すように、HTTP ステータスとしては常に 200 を使い、実際の HTTP ステータスコードはレスポンスの JSON 構造の一部として包み込む、という方式です。
diff --git a/docs/guide-ja/rest-quick-start.md b/docs/guide-ja/rest-quick-start.md
index 5e0901d..35d069a 100644
--- a/docs/guide-ja/rest-quick-start.md
+++ b/docs/guide-ja/rest-quick-start.md
@@ -22,7 +22,7 @@ Yii は、RESTful ウェブサービス API を実装する仕事を簡単にす
 ユーザのデータは `user` という DB テーブルに保存されており、それにアクセスするための [[yii\db\ActiveRecord|ActiveRecord]] クラス `app\models\User` が既に作成済みであるとします。
 
 
-## コントローラを作成する <a name="creating-controller"></a>
+## コントローラを作成する <span id="creating-controller"></span>
 
 最初に、コントローラクラス `app\controllers\UserController` を次のようにして作成します。
 
@@ -41,7 +41,7 @@ class UserController extends ActiveController
 [[yii\rest\ActiveController::modelClass|modelClass]] を `app\models\User` と指定することによって、データの取得と操作にどのモデルが使用できるかをコントローラに教えてやります。
 
 
-## URL 規則を構成する <a name="configuring-url-rules"></a>
+## URL 規則を構成する <span id="configuring-url-rules"></span>
 
 次に、アプリケーションの構成情報において、`urlManager` コンポーネントに関する構成情報を修正します。
 
@@ -59,7 +59,7 @@ class UserController extends ActiveController
 上記の構成情報は、主として、`user` コントローラの URL 規則を追加して、ユーザのデータが綺麗な URL と意味のある HTTP 動詞によってアクセスおよび操作できるようにするものです。
 
 
-## JSON の入力を可能にする <a name="enabling-json-input"></a>
+## JSON の入力を可能にする <span id="enabling-json-input"></span>
 
 API が JSON 形式で入力データを受け取ることが出来るように、`request` アプリケーションコンポーネントの [[yii\web\Request::$parsers|parsers]] プロパティを構成して、JSON 入力のために [[yii\web\JsonParser]] を使うようにします。
 
@@ -75,7 +75,7 @@ API が JSON 形式で入力データを受け取ることが出来るように�
   上記のように構成しない場合は、API は `application/x-www-form-urlencoded` と `multipart/form-data` だけを入力形式として認識します。
 
 
-## 試してみる <a name="trying-it-out"></a>
+## 試してみる <span id="trying-it-out"></span>
 
 上記で示した最小限の労力によって、ユーザのデータにアクセスする RESTful API を作成する仕事は既に完成しています。
 作成した API は次のものを含みます。
@@ -185,7 +185,7 @@ Content-Type: application/json; charset=UTF-8
 > [レスポンス形式の設定](rest-response-formatting.md) の節で説明されているように、これらのフィールドを除外することは出来ますし、また、除外しなければなりません。
 
 
-## まとめ <a name="summary"></a>
+## まとめ <span id="summary"></span>
 
 Yii の RESTful API フレームワークを使う場合は、API エンドポイントをコントローラアクションの形式で実装します。
 そして、コントローラを使って、単一タイプのリソースに対するエンドポイントを実装するアクションを組織化します。
diff --git a/docs/guide-ja/rest-resources.md b/docs/guide-ja/rest-resources.md
index 4cd9d9a..fae4de2 100644
--- a/docs/guide-ja/rest-resources.md
+++ b/docs/guide-ja/rest-resources.md
@@ -17,7 +17,7 @@ MVC の枠組の中では、リソースは [models](structure-models.md) とし
 リソースクラスが [[yii\base\Model]] から拡張しない場合は、全てのパブリックなメンバ変数が返されます。
 
 
-## フィールド <a name="fields"></a>
+## フィールド <span id="fields"></span>
 
 RESTful API のレスポンスにリソースを含めるとき、リソースは文字列にシリアライズされる必要があります。
 Yii はこのプロセスを二つのステップに分けます。
@@ -44,7 +44,7 @@ http://localhost/users?fields=id,email&expand=profile
 ```
 
 
-### fields()` をオーバーライドする <a name="overriding-fields"></a>
+### fields()` をオーバーライドする <span id="overriding-fields"></span>
 
 デフォルトでは、[[yii\base\Model::fields()]] は、モデルの全ての属性をフィールドとして返し、[[yii\db\ActiveRecord::fields()]] は、DB から投入された属性だけを返します。
 
@@ -91,7 +91,7 @@ public function fields()
 > および `password_reset_token` を選んで除去しています。
 
 
-### `extraFields()` をオーバーライドする<a name="overriding-extra-fields"></a>
+### `extraFields()` をオーバーライドする<span id="overriding-extra-fields"></span>
 
 デフォルトでは、[[yii\base\Model::extraFields()]] は何も返しませんが、[[yii\db\ActiveRecord::extraFields()]] は DB から取得されたリレーションの名前を返します。
 
@@ -128,7 +128,7 @@ public function extraFields()
 ```
 
 
-## リンク <a name="links"></a>
+## リンク <span id="links"></span>
 
 [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS) は、Hypermedia as the Engine of Application State (アプリケーション状態のエンジンとしてのハイパーメディア) の略称です。
 HATEOAS は、RESTful API は自分が返すリソースについて、どのようなアクションがサポートされているかをクライアントが発見できるような情報を返すべきである、という概念です。
@@ -171,7 +171,7 @@ class User extends ActiveRecord implements Linkable
 ```
 
 
-## コレクション <a name="collections"></a>
+## コレクション <span id="collections"></span>
 
 リソースオブジェクトは *コレクション* としてグループ化することが出来ます。
 各コレクションは、同じ型のリソースのリストを含みます。
diff --git a/docs/guide-ja/rest-response-formatting.md b/docs/guide-ja/rest-response-formatting.md
index e8ea83c..fbf23f2 100644
--- a/docs/guide-ja/rest-response-formatting.md
+++ b/docs/guide-ja/rest-response-formatting.md
@@ -13,7 +13,7 @@ with response formatting:
    この作業は、[[yii\web\Response::formatters|response]] アプリケーションコンポーネントに登録された [[yii\web\ResponseFormatterInterface|レスポンスフォーマッタ]] によって実行されます。
 
 
-## コンテントネゴシエーション <a name="content-negotiation"></a>
+## コンテントネゴシエーション <span id="content-negotiation"></span>
 
 Yii は [[yii\filters\ContentNegotiator]] フィルタによってコンテントネゴシエーションをサポートします。
 RESTful API の基底コントローラクラス [[yii\rest\Controller]] は `contentNegotiator` という名前でこのフィルタを持っています。
@@ -78,7 +78,7 @@ public function behaviors()
 このレスポンス形式名は、[[yii\web\Response::formatters]] の中でサポートされているものでなければなりません。
 
 
-## データのシリアライズ <a name="data-serializing"></a>
+## データのシリアライズ <span id="data-serializing"></span>
 
 上記で説明したように、[[yii\rest\Serializer]] が、リソースのオブジェクトやコレクションを配列に変換する際に、中心的な役割を果たします。
 `Serializer` は、[[yii\base\ArrayableInterface]] および [[yii\data\DataProviderInterface]] のインタフェイスを実装したオブジェクトを認識します。
diff --git a/docs/guide-ja/runtime-handling-errors.md b/docs/guide-ja/runtime-handling-errors.md
index 67b9402..76647c5 100644
--- a/docs/guide-ja/runtime-handling-errors.md
+++ b/docs/guide-ja/runtime-handling-errors.md
@@ -13,7 +13,7 @@ Yii は、エラー処理を従来よりはるかに快適な経験にしてく�
 アプリケーションの [エントリスクリプト](structure-entry-scripts.md) において、定数 `YII_ENABLE_ERROR_HANDLER` を false と定義することによって、これを無効にすることが出来ます。
 
 
-## エラーハンドラを使用する <a name="using-error-handler"></a>
+## エラーハンドラを使用する <span id="using-error-handler"></span>
 
 [[yii\web\ErrorHandler|エラーハンドラ]] は `errorHandler` という名前の [アプリケーションコンポーネント](structure-application-components.md) です。
 次のように、アプリケーションの構成情報でこれをカスタマイズすることが出来ます。
@@ -56,7 +56,7 @@ throw new NotFoundHttpException();
 ```
 
 
-## エラー表示をカスタマイズする <a name="customizing-error-display"></a>
+## エラー表示をカスタマイズする <span id="customizing-error-display"></span>
 
 [[yii\web\ErrorHandler|エラーハンドラ]] は、定数 `YII_DEBUG` の値に従って、エラー表示を調整します。
 `YII_DEBUG` が true である (デバッグモードである) 場合は、エラーハンドラは、デバッグがより容易になるように、詳細なコールスタック情報とソースコード行とともに例外を表示します。
@@ -74,7 +74,7 @@ throw new NotFoundHttpException();
 エラー表示をカスタマイズするために、エラーハンドラの [[yii\web\ErrorHandler::errorView|errorView]] および [[yii\web\ErrorHandler::exceptionView|exceptionView]] プロパティを構成して、自分自身のビューを使用することが出来ます。
 
 
-### エラーアクションを使う <a name="using-error-actions"></a>
+### エラーアクションを使う <span id="using-error-actions"></span>
 
 エラー表示をカスタマイズするためのもっと良い方法は、専用のエラー [アクション](structure-controllers.md) を使うことです。
 そうするためには、まず、`errorHandler` コンポーネントの [[yii\web\ErrorHandler::errorAction|errorAction]] プロパティを次のように構成します。
@@ -139,7 +139,7 @@ public function actionError()
 > Info|情報: あなたが [ベーシックアプリケーションテンプレート](start-installation.md) または [アドバンストアプリケーションテンプレート](tutorial-advanced-app.md) を使っている場合は、エラーアクションとエラービューは、既にあなたのために定義されています。
 
 
-### エラーのレスポンス形式をカスタマイズする <a name="error-format"></a>
+### エラーのレスポンス形式をカスタマイズする <span id="error-format"></span>
 
 エラーハンドラは、[レスポンス](runtime-responses.md) の形式の設定に従ってエラーを表示します。
 [[yii\web\Response::format|レスポンス形式]] が `html` である場合は、直前の項で説明したように、エラービューまたは例外ビューを使ってエラーを表示します。
diff --git a/docs/guide-ja/runtime-logging.md b/docs/guide-ja/runtime-logging.md
index 1f30ffb..3c25d8e 100644
--- a/docs/guide-ja/runtime-logging.md
+++ b/docs/guide-ja/runtime-logging.md
@@ -13,7 +13,7 @@ Yii のロギングフレームワークを使うためには、下記のステ�
 この節では、主として最初の二つのステップについて説明します。
 
 
-## メッセージを記録する <a name="log-messages"></a>
+## メッセージを記録する <span id="log-messages"></span>
 
 ログメッセージを記録することは、次のログ記録メソッドのどれかを呼び出すだけの簡単なことです。
 
@@ -52,7 +52,7 @@ Yii::trace('平均収益の計算を開始', __METHOD__);
 を呼んで、登録された [ログターゲット](#log-targets) に記録されたログメッセージを送信します。
 
 
-## ログターゲット <a name="log-targets"></a>
+## ログターゲット <span id="log-targets"></span>
 
 ログターゲットは [[yii\log\Target]] クラスまたはその子クラスのインスタンスです。
 ログターゲットは、ログメッセージを重大性レベルとカテゴリによってフィルタして、何らかの媒体にエクスポートします。
@@ -109,7 +109,7 @@ Yii は下記のログターゲットをあらかじめ内蔵しています。
 以下では、全てのターゲットに共通する機能について説明します。
 
   
-### メッセージのフィルタリング <a name="message-filtering"></a>
+### メッセージのフィルタリング <span id="message-filtering"></span>
 
 全てのログターゲットについて、それぞれ、[[yii\log\Target::levels|levels]] と [[yii\log\Target::categories|categories]]
 のプロパティを構成して、ターゲットが処理すべきメッセージの重要性レベルとカテゴリを指定することが出来ます。
@@ -159,7 +159,7 @@ Yii は下記のログターゲットをあらかじめ内蔵しています。
   例えば、[[yii\web\NotFoundHttpException]] は、`yii\web\HttpException:404` というカテゴリのエラーメッセージを発生させます。
 
 
-### メッセージの書式設定 <a name="message-formatting"></a>
+### メッセージの書式設定 <span id="message-formatting"></span>
 
 ログターゲットはフィルタされたログメッセージを一定の書式でエクスポートします。
 例えば、[[yii\log\FileTarget]] クラスのログターゲットをインストールした場合は、`runtime/log/app.log` ファイルに、下記と同様なログメッセージが書き込まれます。
@@ -206,7 +206,7 @@ Yii は下記のログターゲットをあらかじめ内蔵しています。
 あるいは、また、コンテキスト情報の提供方法を自分で実装したい場合は、[[yii\log\Target::getContextMessage()]] メソッドをオーバーライドすることも出来ます。
 
 
-### メッセージのトレースレベル <a name="trace-level"></a>
+### メッセージのトレースレベル <span id="trace-level"></span>
 
 開発段階では、各ログメッセージがどこから来ているかを知りたい場合がよくあります。
 これは、次のように、`log` コンポーネントの [[yii\log\Dispatcher::traceLevel|traceLevel]] プロパティを構成することによって達成できます。
@@ -229,7 +229,7 @@ return [
 > Info|情報: コールスタック情報の取得は軽微な処理ではありません。従って、この機能は開発時またはアプリケーションをデバッグするときに限って使用するべきです。
 
 
-### メッセージの吐き出しとエクスポート <a name="flushing-exporting"></a>
+### メッセージの吐き出しとエクスポート <span id="flushing-exporting"></span>
 
 既に述べたように、ログメッセージは [[yii\log\Logger|ロガーオブジェクト]] によって配列の中に保持されます。
 この配列のメモリ消費を制限するために、この配列に一定数のログメッセージが蓄積されるたびに、ロガーは記録されたメッセージを [ログターゲット](#log-targets) に吐き出します。
@@ -286,7 +286,7 @@ return [
 > Note|注意: 頻繁なメッセージの吐き出しとエクスポートはアプリケーションのパフォーマンスを低下させます。
 
 
-### ログターゲットの 有効/無効 を切り替える <a name="toggling-log-targets"></a>
+### ログターゲットの 有効/無効 を切り替える <span id="toggling-log-targets"></span>
 
 [[yii\log\Target::enabled|enabled]] プロパティを構成することによって、ログターゲットを有効にしたり無効にしたりすることが出来ます。
 この切り替えは、ログターゲットのコンフィギュレーションでも出来ますが、コードの中で次の PHP 文を使っても出来ます。
@@ -316,7 +316,7 @@ return [
 ```
 
 
-### 新しいターゲットを作る <a name="new-targets"></a>
+### 新しいターゲットを作る <span id="new-targets"></span>
 
 新しいログターゲットを作ることは非常に単純なことです。
 必要なことは、主として、[[yii\log\Target::messages]] 配列の中身を指定された媒体に送出する [[yii\log\Target::export()]] メソッドを実装することです。
@@ -324,7 +324,7 @@ return [
 詳細については、Yii リリースに含まれているログターゲットクラスのどれか一つを参照してください。
 
 
-## パフォーマンスプロファイリング <a name="performance-profiling"></a>
+## パフォーマンスプロファイリング <span id="performance-profiling"></span>
 
 パフォーマンスプロファイリングは、特定のコードブロックに要した時間を測定してパフォーマンスのボトルネックになっている所を見つけ出すために使われる、特殊なタイプのメッセージロギングです。
 例えば、[[yii\db\Command]] クラスは、各 DB クエリに要した時間を知るために、パフォーマンスプロファイリングを使用しています。
diff --git a/docs/guide-ja/runtime-requests.md b/docs/guide-ja/runtime-requests.md
index 91419c1..05c1cf2 100644
--- a/docs/guide-ja/runtime-requests.md
+++ b/docs/guide-ja/runtime-requests.md
@@ -6,7 +6,7 @@
 この節では、アプリケーションの中でこのコンポーネントをどのように利用できるかを説明します。
 
 
-## リクエストのパラメータ <a name="request-parameters"></a>
+## リクエストのパラメータ <span id="request-parameters"></span>
 
 リクエストのパラメータを取得するためには、`request` コンポーネントの [[yii\web\Request::get()|get()]] および [[yii\web\Request::post()|post()]] メソッドを呼ぶことが出来ます。
 これらは、ぞれぞれ、`$_GET` と `$_POST` の値を返します。例えば、
@@ -55,7 +55,7 @@ $param = $request->getBodyParam('id');
   [[yii\web\Request::parsers]] プロパティを構成することによって、これらのパラメータが解析される方法をカスタマイズすることが出来ます。
 
 
-## リクエストメソッド <a name="request-methods"></a>
+## リクエストメソッド <span id="request-methods"></span>
 
 現在のリクエストに使用された HTTP メソッドは、`Yii::$app->request->method` という式によって取得することが出来ます。
 現在のメソッドが特定のタイプであるかどうかをチェックするための、一連の真偽値のプロパティも提供されています。
@@ -70,7 +70,7 @@ if ($request->isPost) { // リクエストメソッドは POST }
 if ($request->isPut)  { // リクエストメソッドは PUT }
 ```
 
-## リクエストの URL <a name="request-urls"></a>
+## リクエストの URL <span id="request-urls"></span>
 
 `request` コンポーネントは現在リクエストされている URL を調べるための方法を数多く提供しています。
 
@@ -88,7 +88,7 @@ if ($request->isPut)  { // リクエストメソッドは PUT }
 * [[yii\web\Request::serverPort|serverPort]]: 80 を返します。ウェブサーバによって使用されているポートです。
 
 
-## HTTP ヘッダ <a name="http-headers"></a> 
+## HTTP ヘッダ <span id="http-headers"></span> 
 
  [[yii\web\Request::headers]] プロパティによって返される [[yii\web\HeaderCollection|header コレクション]] を通じて、HTTP ヘッダ情報を取得することが出来ます。例えば、
 
@@ -119,7 +119,7 @@ if ($headers->has('User-Agent')) { // User-Agent ヘッダが在る }
 このフィルタは、上記で説明したプロパティとメソッドの上に、コンテントネゴシエーションを実装しています。
 
 
-## クライアント情報 <a name="client-information"></a>
+## クライアント情報 <span id="client-information"></span>
 
 クライアントマシンのホスト名と IP アドレスを、それぞれ、[[yii\web\Request::userHost|userHost]] と [[yii\web\Request::userIP|userIP]] によって取得することが出来ます。例えば、
 
diff --git a/docs/guide-ja/runtime-responses.md b/docs/guide-ja/runtime-responses.md
index c8a83f1..4828c55 100644
--- a/docs/guide-ja/runtime-responses.md
+++ b/docs/guide-ja/runtime-responses.md
@@ -12,7 +12,7 @@
 この節では、レスポンスを構成してエンドユーザに送信する方法を説明します。
 
 
-## ステータスコード <a name="status-code"></a>
+## ステータスコード <span id="status-code"></span>
 
 レスポンスを作成するときに最初にすることの一つは、リクエストが成功裡に処理されたかどうかを記述することです。
 そのためには、[[yii\web\Response::statusCode]] プロパティに有効な [HTTP ステータスコード](http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html) の一つを設定します。
@@ -55,7 +55,7 @@ throw new \yii\web\HttpException(402);
 ```
 
 
-## HTTP ヘッダ <a name="http-headers"></a> 
+## HTTP ヘッダ <span id="http-headers"></span> 
 
 `response` コンポーネントの [[yii\web\Response::headers|ヘッダコレクション]] を操作することによって、HTTP ヘッダを送信することが出来ます。
 例えば、
@@ -77,7 +77,7 @@ $values = $headers->remove('Pragma');
   そして、新しく登録されたヘッダは、[[yii\web\Response::send()]] メソッドが呼ばれるまで送信されません。
 
 
-## レスポンスボディ <a name="response-body"></a>
+## レスポンスボディ <span id="response-body"></span>
 
 ほとんどのレスポンスは、エンドユーザに対して表示したい内容を示すボディを持っていなければなりません。
 
@@ -157,7 +157,7 @@ public function actionInfo()
   しかし、 [依存の注入](concept-di-container.md) を使えば、 共通の構成情報をあなたの新しいレスポンスオブジェクトに適用することが出来ます。
 
 
-## ブラウザのリダイレクト <a name="browser-redirection"></a>
+## ブラウザのリダイレクト <span id="browser-redirection"></span>
 
 ブラウザのリダイレクトは `Location` HTTP ヘッダの送信に依存しています。
 この機能は通常よく使われるものであるため、Yii はこれについて特別のサポートを提供しています。
@@ -196,7 +196,7 @@ public function actionOld()
 従って、あなたが ([[yii\web\YiiAsset]] アセットバンドルを登録して) この JavaScript ファイルを使うつもりなら、AJAX のリダイレクトをサポートするためには、何も書く必要がなくなります。
 
 
-## ファイルを送信する <a name="sending-files"></a>
+## ファイルを送信する <span id="sending-files"></span>
 
 ブラウザのリダイレクトと同じように、ファイルの送信という機能も特定の HTTP ヘッダに依存しています。
 Yii はさまざまなファイル送信の必要をサポートするための一連のメソッドを提供しています。それらはすべて、HTTP range ヘッダに対するサポートを内蔵しています。
@@ -235,7 +235,7 @@ public function actionDownload()
 - Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile)
 
 
-## レスポンスを送信する <a name="sending-response"></a>
+## レスポンスを送信する <span id="sending-response"></span>
 
 レスポンスの中のコンテントは、[[yii\web\Response::send()]] メソッドが呼ばれるまでは、エンドユーザに向けて送信されません。
 既定では、このメソッドは [[yii\base\Application::run()]] の最後で自動的に呼ばれます。
diff --git a/docs/guide-ja/runtime-routing.md b/docs/guide-ja/runtime-routing.md
index 8ff45cb..c497d26 100644
--- a/docs/guide-ja/runtime-routing.md
+++ b/docs/guide-ja/runtime-routing.md
@@ -33,7 +33,7 @@ $url = Url::to(['post/view', 'id' => 100]);
 ```
 
 
-## URL 形式 <a name="url-formats"></a>
+## URL 形式 <span id="url-formats"></span>
 
 [[yii\web\UrlManager|URL マネージャ]] は二つの URL 形式、すなわち、デフォルトの URL 形式と、綺麗な URL 形式をサポートします。
 
@@ -49,7 +49,7 @@ $url = Url::to(['post/view', 'id' => 100]);
 プロパティを ON/OFF することによって、他のアプリケーションコードを少しも変えることなく、切り替えることが出来ます。
 
 
-## ルーティング <a name="routing"></a>
+## ルーティング <span id="routing"></span>
 
 ルーティングは二つのステップを含みます。最初のステップでは、入ってくるリクエストが解析されて、ルートとそれに結び付いたクエリパラメータに分解されます。
 そして、第二のステップでは、解析されたルートに対応する [コントローラアクション](structure-controllers.md) がリクエストを処理するために生成されます。
@@ -81,7 +81,7 @@ $url = Url::to(['post/view', 'id' => 100]);
 上記のステップの中で、何かエラーが発生すると、[[yii\web\NotFoundHttpException]] が投げられて、ルーティングのプロセスが失敗したことが示されます。
 
 
-### デフォルトルート <a name="default-route"></a>
+### デフォルトルート <span id="default-route"></span>
 
 リクエストから解析されたルートが空になった場合は、いわゆる *デフォルトルート* が代りに使用されることになります。
 既定では、デフォルトルートは `site/index` であり、`site` コントローラの `index` アクションを指します。
@@ -95,7 +95,7 @@ $url = Url::to(['post/view', 'id' => 100]);
 ```
 
 
-### `catchAll` ルート <a name="catchall-route"></a>
+### `catchAll` ルート <span id="catchall-route"></span>
 
 たまには、ウェブアプリケーションを一時的にメンテナンスモードにして、全てのリクエストに対して同じ「お知らせ」のページを表示したいことがあるでしょう。
 この目的を達する方法はたくさんありますが、最も簡単な方法の一つは、次のように、アプリケーションの構成情報の中で [[yii\web\Application::catchAll]] プロパティを構成することです。
@@ -113,7 +113,7 @@ $url = Url::to(['post/view', 'id' => 100]);
 [アクションのパラメータ](structure-controllers.md#action-parameters) を指定するものでなければなりません。
 
 
-## URL を生成する <a name="creating-urls"></a>
+## URL を生成する <span id="creating-urls"></span>
 
 Yii は、与えられたルートとそれに結び付けられるクエリパラメータからさまざまな URL を生成する
 [[yii\helpers\Url::to()]] というヘルパメソッドを提供しています。例えば、
@@ -215,7 +215,7 @@ echo Url::previous();
 ```
 
 
-## 綺麗な URL を使う <a name="using-pretty-urls"></a>
+## 綺麗な URL を使う <span id="using-pretty-urls"></span>
 
 綺麗な URL を使うためには、アプリケーションの構成情報の中で `urlManager` コンポーネントを次のように構成します。
 
@@ -250,7 +250,7 @@ echo Url::previous();
 もしあなたが Apache ウェブサーバを使うつもりなら、[インストール](start-installation.md#recommended-apache-configuration) の節で説明されている推奨設定を参照することが出来ます。
 
 
-### URL 規則 <a name="url-rules"></a>
+### URL 規則 <span id="url-rules"></span>
 
 URL 規則は [[yii\web\UrlRule]] またはその子クラスのインスタンスです。
 すべての URL 規則は、URL のパス情報の部分との照合に使われるパターン、ルート、そして、いくつかのクエリパラメータから構成されます。
@@ -299,7 +299,7 @@ URL 規則は、「パターン - ルート」のペアとして宣言する以�
 規則の構成情報で `class` を指定しない場合は、既定として、[[yii\web\UrlRule]] が使われます。
 
 
-### 名前付きパラメータ <a name="named-parameters"></a>
+### 名前付きパラメータ <span id="named-parameters"></span>
 
 URL 規則は、パターンの中で `<ParamName:RgExp>` の形式で指定される、いくつかの名前付きクエリパラメータと結び付けることが出来ます。
 ここで、`ParamName` はパラメータ名を指定し、`RegExp` はパラメータの値との照合に使われるオプションの正規表現を指定するものです。
@@ -340,7 +340,7 @@ URL 規則は、パターンの中で `<ParamName:RgExp>` の形式で指定さ�
   どの規則も当てはまらないため、URL は、単純に、ルートをパス情報とし、すべてのパラメータをクエリ文字列として追加して生成されます。
 
 
-### ルートをパラメータ化する <a name="parameterizing-routes"></a>
+### ルートをパラメータ化する <span id="parameterizing-routes"></span>
 
 URL 規則のルートにはパラメータ名を埋め込むことが出来ます。このことによって、URL 規則を複数のルートに合致させることが可能になっています。
 例えば、以下の規則は `controller` と `action` というパラメータをルートに埋め込んでいます。
@@ -388,7 +388,7 @@ URL 規則のルートにはパラメータ名を埋め込むことが出来ま�
 オプション扱いのパラメータを使わなければ、同じ結果を得るために 4 個の規則を作らなければならなかったところです。
 
 
-### サーバ名を持つ規則 <a name="rules-with-server-names"></a>
+### サーバ名を持つ規則 <span id="rules-with-server-names"></span>
 
 URL 規則のパターンには、ウェブサーバ名を含むことが出来ます。
 このことが役に立つのは、主として、あなたのアプリケーションがウェブサーバ名によって異なる動作をしなければならない場合です。
@@ -415,7 +415,7 @@ URL 規則のパターンには、ウェブサーバ名を含むことが出来�
 こうすれば、アプリケーションをどのようなディレクトリに配置しても、アプリケーションのコードを変更する必要がなくなります。
 
 
-### URL 接尾辞 <a name="url-suffixes"></a>
+### URL 接尾辞 <span id="url-suffixes"></span>
 
 さまざまな目的から URL に接尾辞を追加したいことがあるでしょう。
 例えば、静的な HTML ページに見えるように、`.html` を URL に追加したいかも知れません。
@@ -473,7 +473,7 @@ URL 規則にこのプロパティが設定されている場合は、それが 
 ```
 
 
-### HTTP メソッド <a name="http-methods"></a>
+### HTTP メソッド <span id="http-methods"></span>
 
 RESTful API を実装するときは、使用されている HTTP メソッドに応じて、同一の URL を異なるルートとして解析することが必要になる場合がよくあります。
 これは、規則のパターンにサポートされている HTTP メソッドを前置することによって、簡単に達成することが出来ます。
@@ -497,7 +497,7 @@ RESTful API を実装するときは、使用されている HTTP メソッド�
   詳細については、RESTful API 開発についての [ルーティング](rest-routing.md) の節を参照してください。
 
 
-### 規則をカスタマイズする <a name="customizing-rules"></a>
+### 規則をカスタマイズする <span id="customizing-rules"></span>
 
 これまでの例では、URL 規則は主として「パターン - ルート」のペアの形で宣言されています。これが通常使用される短縮形式です。
 特定のシナリオの下では、[[yii\web\UrlRule::suffix]] などのような、他のプロパティを構成して URL 規則をカスタマイズしたいこともあるでしょう。
@@ -519,7 +519,7 @@ RESTful API を実装するときは、使用されている HTTP メソッド�
 > Info|情報: 規則の構成情報で `class` を指定しない場合は、既定として、[[yii\web\UrlRule]] クラスが使われます。
   
 
-### 規則を動的に追加する <a name="adding-rules"></a>
+### 規則を動的に追加する <span id="adding-rules"></span>
 
 URL 規則は [[yii\web\UrlManager|URL マネージャ]] に動的に追加することが出来ます。
 このことは、再配布可能な [モジュール](structure-modules.md) が自分自身の URL 規則を管理する必要がある場合に、しばしば必要になります。
@@ -538,7 +538,7 @@ public function bootstrap($app)
 さらに、モジュールが [ブートストラップ](runtime-bootstrapping.md) の過程に関与できるように、それを [[yii\web\Application::bootstrap]] のリストに挙げなければならないことに注意してください。
 
 
-### 規則クラスを作成する <a name="creating-rules"></a>
+### 規則クラスを作成する <span id="creating-rules"></span>
 
 デフォルトの [[yii\web\UrlRule]] クラスはほとんどのプロジェクトに対して十分に柔軟なものであるというのは事実ですが、それでも、自分自身で規則クラスを作る必要があるような状況はあります。
 例えば、自動車ディーラーのウェブサイトにおいて、`/Manufacturer/Model` のような URL 形式をサポートしたいけれども、`Manufacturer` と `Model` は、両方とも、データベーステーブルに保存されている何らかのデータに合致するものでなければならない、というような場合です。
@@ -595,7 +595,7 @@ class CarUrlRule extends Object implements UrlRuleInterface
 ```
 
 
-## パフォーマンスに対する考慮 <a name="performance-consideration"></a>
+## パフォーマンスに対する考慮 <span id="performance-consideration"></span>
 
 複雑なウェブアプリケーションを開発するときは、リクエストの解析と URL 生成に要する時間を削減するために URL 規則を最適化することが重要になります。
 
diff --git a/docs/guide-ja/runtime-sessions-cookies.md b/docs/guide-ja/runtime-sessions-cookies.md
index 120e254..a31112e 100644
--- a/docs/guide-ja/runtime-sessions-cookies.md
+++ b/docs/guide-ja/runtime-sessions-cookies.md
@@ -6,12 +6,12 @@
 Yii はセッションとクッキーをオブジェクトとしてカプセル化し、オブジェクト指向の流儀でアクセスできるようにするとともに、有用な機能強化を追加しています。
 
 
-## セッション <a name="sessions"></a>
+## セッション <span id="sessions"></span>
 
 [リクエスト](runtime-requests.md) や [レスポンス](runtime-responses.md) と同じように、既定では [[yii\web\Session]] のインスタンスである `session` [アプリケーションコンポーネント] によって、セッションにアクセスすることが出来ます。
 
 
-### セッションのオープンとクローズ <a name="opening-closing-sessions"></a>
+### セッションのオープンとクローズ <span id="opening-closing-sessions"></span>
 
 セッションのオープンとクローズは、次のようにして出来ます。
 
@@ -35,7 +35,7 @@ $session->destroy();
 内部的には、これらのメソッドは、セッションが既に開かれているかどうかを最初にチェックします。
 
 
-### セッションデータにアクセスする <a name="access-session-data"></a>
+### セッションデータにアクセスする <span id="access-session-data"></span>
 
 セッションに保存されているデータにアクセスするためには、次のようにすることが出来ます。
 
@@ -119,7 +119,7 @@ $session['captcha.lifetime'] = 3600;
 すなわち、配列を一つのセッション変数として保存する代りに、配列の個々の要素を他の要素と同じキー接頭辞を共有する一つのセッション変数として保存することです。
 
 
-### カスタムセッションストレージ <a name="custom-session-storage"></a>
+### カスタムセッションストレージ <span id="custom-session-storage"></span>
 
 既定の [[yii\web\Session]] クラスはセッションデータをサーバ上のファイルとして保存します。
 Yii は、また、さまざまなセッションストレージを実装する下記のクラスをも提供しています。
@@ -171,7 +171,7 @@ CREATE TABLE session
   例えば、`session.hash_function=sha256` である場合は、40 の代りに 64 の長さを使わなければなりません。
 
 
-### フラッシュデータ <a name="flash-data"></a>
+### フラッシュデータ <span id="flash-data"></span>
 
 フラッシュデータは特殊な種類のセッションデータで、あるリクエストの中で設定されると、次のリクエストの間においてのみ読み出すことが出来て、その後は自動的に削除されるものです。
 フラッシュデータが最もよく使われるのは、エンドユーザに一度だけ表示されるべきメッセージ、例えば、ユーザのフォーム送信が成功した後に表示される確認メッセージなどを実装するときです。
@@ -219,14 +219,14 @@ $alerts = $session->getFlash('alerts');
   その結果、[[yii\web\Session::getFlash()]] を呼び出したとき、この二つのメソッドの呼び出し順によって、あるときは配列を受け取り、あるときは文字列を受け取るということになってしまいます。
 
 
-## クッキー <a name="cookies"></a>
+## クッキー <span id="cookies"></span>
 
 Yii は個々のクッキーを [[yii\web\Cookie]] のオブジェクトとして表します。
 [[yii\web\Request]] と [[yii\web\Response]] は、ともに、`cookies` という名前のプロパティによって、クッキーのコレクションを保持します。
 後者のクッキーコレクションはリクエストの中で送信されたクッキーを表し、一方、後者のクッキーコレクションは、ユーザに送信されることになるクッキーを表します。
 
 
-### クッキーを読み出す <a name="reading-cookies"></a>
+### クッキーを読み出す <span id="reading-cookies"></span>
 
 現在のリクエストに含まれるクッキーは、下記のコードを使って取得することが出来ます。
 
@@ -253,7 +253,7 @@ if (isset($cookies['language'])) ...
 ```
 
 
-### クッキーを送信する <a name="sending-cookies"></a>
+### クッキーを送信する <span id="sending-cookies"></span>
 
 下記のコードを使って、クッキーをエンドユーザに送信することが出来ます。
 
@@ -281,7 +281,7 @@ unset($cookies['language']);
 これは、クライアントサイドスクリプトが保護されたクッキーにアクセスする危険を軽減するものです (ブラウザがサポートしていれば)。
 詳細については、[httpOnly wiki article](https://www.owasp.org/index.php/HttpOnly) を読んでください。
 
-### クッキー検証 <a name="cookie-validation"></a>
+### クッキー検証 <span id="cookie-validation"></span>
 
 最後の二つの項で示されているように、`request` と `response` のコンポーネントを通じてクッキーを読んだり送信したりする場合には、クッキーがクライアントサイドで修正されるのを防止するクッキー検証という追加のセキュリティを享受することが出来ます。
 これは、個々のクッキーにハッシュ文字列をサインとして追加することによって達成されます。
diff --git a/docs/guide-ja/start-databases.md b/docs/guide-ja/start-databases.md
index 934e5d7..dadd29a 100644
--- a/docs/guide-ja/start-databases.md
+++ b/docs/guide-ja/start-databases.md
@@ -15,7 +15,7 @@
 具体的に言えば、DB クライアントツールを用いてデータベースを作成する方法と、SQL 文を実行する方法を知っていなければなりません。
 
 
-データベースを準備する <a name="preparing-database"></a>
+データベースを準備する <span id="preparing-database"></span>
 ----------------------
 
 まず初めに、`yii2basic` という名前のデータベースを作成してください。このデータベースからアプリケーションにデータを読み出すことになります。
@@ -47,7 +47,7 @@ INSERT INTO `country` VALUES ('US','United States',278357000);
 この時点で、あなたは `yii2basic` という名前のデータベースを持ち、その中に三つのカラムを持つ `country` というテーブルがあり、`country` テーブルは 10 行のデータを持っている、ということになります。
 
 
-DB 接続を構成する <a name="configuring-db-connection"></a>
+DB 接続を構成する <span id="configuring-db-connection"></span>
 -----------------
 
 先に進む前に、[PDO](http://www.php.net/manual/en/book.pdo.php) PHP 拡張および使用しているデータベースの PDO ドライバ (例えば、MySQL のための `pdo_mysql`) の両方をインストール済みであることを確認してください。
@@ -78,7 +78,7 @@ return [
   詳しい情報については、[構成情報](concept-configurations.md) の節を参照してください。
 
 
-アクティブレコードを作成する <a name="creating-active-record"></a>
+アクティブレコードを作成する <span id="creating-active-record"></span>
 ----------------------------
 
 `country` テーブルの中のデータを表現し取得するために、[アクティブレコード](db-active-record.md) から派生した `Country` という名前のクラスを作成し、それを `models/Country.php` というファイルに保存します。
@@ -124,7 +124,7 @@ $country->save();
 もう一つの方法として、[データアクセスオブジェクト](db-dao.md) と呼ばれる、より低レベルなデータアクセス方法を使ってデータベースを操作することも出来ます。
 
 
-アクションを作成する <a name="creating-action"></a>
+アクションを作成する <span id="creating-action"></span>
 --------------------
 
 国データをエンドユーザに公開するために、新しいアクションを作成する必要があります。
@@ -179,7 +179,7 @@ class CountryController extends Controller
 このとき、国データだけでなく、そのページネーション情報がビューに渡されます。
 
 
-ビューを作成する <a name="creating-view"></a>
+ビューを作成する <span id="creating-view"></span>
 ----------------
 
 最初に、`views` ディレクトリの下に `country` という名前のサブディレクトリを作ってください。
@@ -210,7 +210,7 @@ use yii\widgets\LinkPager;
 `LinkPager` ウィジェットはページボタンのリストを表示します。ボタンのどれかをクリックすると、対応するページの国データが更新表示されます。
 
 
-試してみる <a name="trying-it-out"></a>
+試してみる <span id="trying-it-out"></span>
 ----------
 
 上記のコード全てがどのように動作するかを見るために、ブラウザで下記の URL をアクセスします。
@@ -242,7 +242,7 @@ http://hostname/index.php?r=country/index&page=2
   こうして、新しい国のクエリは `LIMIT 5 OFFSET 5` という句を持ち、次の5つの国を表示のために返すことになります。
 
 
-まとめ <a name="summary"></a>
+まとめ <span id="summary"></span>
 ------
 
 この節では、データベースを扱う方法を学びました。
diff --git a/docs/guide-ja/start-forms.md b/docs/guide-ja/start-forms.md
index 8423ea4..dcf3c68 100644
--- a/docs/guide-ja/start-forms.md
+++ b/docs/guide-ja/start-forms.md
@@ -14,7 +14,7 @@
 * [ビュー](structure-views.md) の中で HTML フォームを構築する方法
 
 
-モデルを作成する <a name="creating-model"></a>
+モデルを作成する <span id="creating-model"></span>
 ----------------
 
 ユーザに入力してもらうデータは、下に示されているように `EntryForm` モデルクラスとして表現され、`models/EntryForm.php` というファイルに保存されます。
@@ -74,7 +74,7 @@ if ($model->validate()) {
 ```
 
 
-アクションを作成する <a name="creating-action"></a>
+アクションを作成する <span id="creating-action"></span>
 --------------------
 
 次に、この新しいモデルを使う `entry` アクションを `site` コントローラに作る必要があります。
@@ -127,7 +127,7 @@ class SiteController extends Controller
   実際の仕事では、[フォーム送信の諸問題](http://en.wikipedia.org/wiki/Post/Redirect/Get) を避けるために、[[yii\web\Controller::refresh()|refresh()]] または [[yii\web\Controller::redirect()|redirect()]] を使うことを考慮すべきです。
 
 
-ビューを作成する <a name="creating-views"></a>
+ビューを作成する <span id="creating-views"></span>
 ----------------
 
 最後に、`entry-confirm` と `entry` という名前の二つのビューファイルを作成します。
@@ -174,7 +174,7 @@ use yii\widgets\ActiveForm;
 インプットフィールドの後に、[[yii\helpers\Html::submitButton()]] メソッドが呼ばれて、送信ボタンを生成しています。
 
 
-試してみる <a name="trying-it-out"></a>
+試してみる <span id="trying-it-out"></span>
 ----------
 
 どのように動作するかを見るために、ブラウザで下記の URL をアクセスしてください。
@@ -194,7 +194,7 @@ http://hostname/index.php?r=site/entry
 ![データ入力の確認](images/start-entry-confirmation.png)
 
 
-### 魔法の説明<a name="magic-explained"></a>
+### 魔法の説明<span id="magic-explained"></span>
 
 あなたは、舞台裏で HTML フォームがどのように動いているのか、不思議に思うかも知れません。
 なぜなら、フォームが、ほとんど魔法のように、各インプットフィールドのラベルを表示し、データを正しく入力しなかった場合には、ページをリロードすることなく、エラーメッセージを表示するからです。
@@ -222,7 +222,7 @@ http://hostname/index.php?r=site/entry
   あなたは、将来のビュー開発を単純化するために、多くのビューコードを再利用可能なウィジェットに変換したいと思うことでしょう。
 
 
-まとめ <a name="summary"></a>
+まとめ <span id="summary"></span>
 ------
 
 ガイドのこの節においては、MVC デザインパターンの全ての部分に触れました。
diff --git a/docs/guide-ja/start-gii.md b/docs/guide-ja/start-gii.md
index ed49140..1fdd8c9 100644
--- a/docs/guide-ja/start-gii.md
+++ b/docs/guide-ja/start-gii.md
@@ -12,7 +12,7 @@ Gii を使ってコードを自動生成することは、Gii のウェブペー
 * Gii によって生成されるコードをカスタマイズする方法
 
 
-Gii を開始する <a name="starting-gii"></a>
+Gii を開始する <span id="starting-gii"></span>
 --------------
 
 [Gii](tool-gii.md) は Yii の [モジュール](structure-modules.md) として提供されています。
@@ -57,7 +57,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-アクティブレコードのクラスを生成する <a name="generating-ar"></a>
+アクティブレコードのクラスを生成する <span id="generating-ar"></span>
 ------------------------------------
 
 Gii を使ってアクティブレコードのクラスを生成するためには、"Model Generator" を選びます
@@ -84,7 +84,7 @@ Gii を使うときに、既に同じファイルを作成していて、それ�
 既存のファイルがあった場合は、それが新しく生成されたコードで上書きされたことを示すメッセージも同じく表示されます。
 
 
-CRUD コードを生成する <a name="generating-crud"></a>
+CRUD コードを生成する <span id="generating-crud"></span>
 ---------------------
 
 CRUD は Create(作成)、Read(読出し)、Update(更新)、そして Delete(削除) を意味しており、ほとんどのウェブサイトでデータを扱うときによく用いられる4つのタスクを表しています。
@@ -106,7 +106,7 @@ Gii を使って CRUD 機能を作成するためには、"CRUD Generator" を�
 (以前のバージョンは フル機能の CRUD をサポートしていません。)
 
 
-試してみる <a name="trying-it-out"></a>
+試してみる <span id="trying-it-out"></span>
 ----------
 
 どのように動作するかを見るために、ブラウザを使って下記の URL にアクセスしてください。
@@ -137,7 +137,7 @@ http://hostname/index.php?r=country/index
   詳細については、[Gii](tool-gii.md) の節を参照してください。
 
 
-まとめ <a name="summary"></a>
+まとめ <span id="summary"></span>
 ------
 
 この節では、Gii を使ってコードを生成して、データベーステーブルに保存されているコンテントのための完全な CRUD 機能を実装する方法を学びました。
diff --git a/docs/guide-ja/start-hello.md b/docs/guide-ja/start-hello.md
index 6161ec8..9d65b45 100644
--- a/docs/guide-ja/start-hello.md
+++ b/docs/guide-ja/start-hello.md
@@ -14,7 +14,7 @@
 3. アプリケーションがリクエストを [アクション](structure-controllers.md#creating-actions) に送付する仕組み
 
 
-アクションを作成する <a name="creating-action"></a>
+アクションを作成する <span id="creating-action"></span>
 --------------------
 
 「こんにちは」のタスクのために、リクエストから `message` パラメータを読んで、そのメッセージをユーザに表示して返す `say` [アクション](structure-controllers.md#creating-actions) を作ります。
@@ -68,7 +68,7 @@ Yii はコントローラクラスの中で、アクションのメソッドと�
 返された結果はアプリケーションによって受け取られ、ブラウザ上でエンドユーザに (完全な HTML ページの一部として) 表示されます。
 
 
-ビューを作成する <a name="creating-view"></a>
+ビューを作成する <span id="creating-view"></span>
 ----------------
 
 [ビュー](structure-views.md) は、レスポンスのコンテントを生成するために書かれるスクリプトです。
@@ -94,7 +94,7 @@ use yii\helpers\Html;
 そしてアプリケーションがこの結果をエンドユーザに対して出力します。
 
 
-試してみる <a name="trying-it-out"></a>
+試してみる <span id="trying-it-out"></span>
 ----------
 
 アクションとビューを作成したら、下記の URL で新しいページにアクセスすることが出来ます。
@@ -129,7 +129,7 @@ URL から `message` パラメータを省略すると、"こんにちは" を�
   例えば、`post-comment` というコントローラ ID に対応するコントローラクラスの名前は `PostCommentController` です。
 
 
-まとめ <a name="summary"></a>
+まとめ <span id="summary"></span>
 ------
 
 この節では、MVC デザインパターンのうちのコントローラとビューの部分に触れました。
diff --git a/docs/guide-ja/start-installation.md b/docs/guide-ja/start-installation.md
index 0b45951..d3bae03 100644
--- a/docs/guide-ja/start-installation.md
+++ b/docs/guide-ja/start-installation.md
@@ -18,7 +18,7 @@ Yii はもう一つ、[アドバンストアプリケーションテンプレー
   あなたが Yii は初めてだという場合は、シンプルでありながら十分な機能を持っているベーシックアプリケーションテンプレートに留まることを強く推奨します。
 
 
-Composer によるインストール <a name="installing-via-composer"></a>
+Composer によるインストール <span id="installing-via-composer"></span>
 ---------------------------
 
 まだ Composer をインストールしていない場合は、[getcomposer.org](https://getcomposer.org/download/) の指示に従ってインストールすることが出来ます。
@@ -56,7 +56,7 @@ Composer がインストールされたら、ウェブからアクセスでき�
 > 開発バージョンは動いているあなたのコードを動かなくするかもしれませんので、本番環境では使うべきでないことに注意してください。
 
 
-アーカイブファイルからインストールする <a name="installing-from-archive-file"></a>
+アーカイブファイルからインストールする <span id="installing-from-archive-file"></span>
 --------------------------------------
 
 アーカイブファイルから Yii をインストールするには、三つの手順を踏みます。
@@ -72,7 +72,7 @@ Composer がインストールされたら、ウェブからアクセスでき�
    ```
 
 
-他のインストールオプション <a name="other-installation-options"></a>
+他のインストールオプション <span id="other-installation-options"></span>
 --------------------------
 
 上記のインストール方法の説明は Yii のインストールの仕方を示すものですが、それは同時に、直ちに動作する基本的なウェブアプリケーションを作成するものでもあります。
@@ -87,7 +87,7 @@ Composer がインストールされたら、ウェブからアクセスでき�
   をインストールすることを考慮することが出来ます。
 
 
-インストールを検証する <a name="verifying-installation"></a>
+インストールを検証する <span id="verifying-installation"></span>
 ----------------------
 
 インストール完了後、インストールされた Yii アプリケーションにブラウザを使って下記の URL でアクセスすることが出来ます。
@@ -119,7 +119,7 @@ Yii の最低必要条件を満たすように PHP のインストールを構�
 また、アプリケーションがデータベースを必要とする場合は、[PDO PHP 拡張](http://www.php.net/manual/ja/pdo.installation.php) および対応するデータベースドライバ (MySQL データベースのための `pdo_mysql` など) をインストールしなければなりません。
 
 
-ウェブサーバを構成する <a name="configuring-web-servers"></a>
+ウェブサーバを構成する <span id="configuring-web-servers"></span>
 ----------------------
 
 > Info|情報: もし Yii の試運転をしているだけで、本番サーバに配備する意図がないのであれば、当面、この項は飛ばしても構いません。
@@ -140,7 +140,7 @@ Yii 2.0 は、また、facebook の [HHVM](http://hhvm.com/) とも互換性が�
 詳細については、[共有ホスティング環境](tutorial-shared-hosting.md) の節を参照してください。
 
 
-### 推奨される Apache の構成 <a name="recommended-apache-configuration"></a>
+### 推奨される Apache の構成 <span id="recommended-apache-configuration"></span>
 
 下記の設定を Apache の `httpd.conf` ファイルまたはバーチャルホスト設定の中で使います。
 `path/to/basic/web` の部分を `basic/web` の実際のパスに置き換えなければならないことに注意してください。
@@ -163,7 +163,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### 推奨される Nginx の構成 <a name="recommended-nginx-configuration"></a>
+### 推奨される Nginx の構成 <span id="recommended-nginx-configuration"></span>
 
 [Nginx](http://wiki.nginx.org/) を使うためには、PHP を [FPM SAPI](http://jp1.php.net/install.fpm) としてインストールしなければなりません。
 下記の Nginx の設定を使うことができます。
diff --git a/docs/guide-ja/start-workflow.md b/docs/guide-ja/start-workflow.md
index f01b0a4..df21d40 100644
--- a/docs/guide-ja/start-workflow.md
+++ b/docs/guide-ja/start-workflow.md
@@ -10,7 +10,7 @@ Yii のインストールが終ると、実際に動く Yii のアプリケー�
   必要に応じて、説明の中の URL を読み替えてください。
 
 
-機能 <a name="functionality"></a>
+機能 <span id="functionality"></span>
 ----
 
 インストールされた基本的なアプリケーションは四つのページを持っています。
@@ -29,7 +29,7 @@ Yii のインストールが終ると、実際に動く Yii のアプリケー�
 これは Yii によって提供される便利な [デバッグツールバー](tool-debugger.md) であり、たくさんのデバッグ情報、例えば、ログメッセージ、レスポンスのステータス、実行されたデータベースクエリなどを記録して表示するものです。
 
 
-アプリケーションの構造 <a name="application-structure"></a>
+アプリケーションの構造 <span id="application-structure"></span>
 ----------------------
 
 アプリケーションにとって最も重要なディレクトリとファイルは (アプリケーションのルートディレクトリが `basic` だと仮定すると) 以下の通りです。
@@ -70,7 +70,7 @@ Yii は [モデル・ビュー・コントローラ (MVC)](http://wikipedia.org/
 [ウィジェット](structure-widgets.md) は、複雑で動的なユーザインタフェイス要素を構築するために、[ビュー](structure-views.md) の中で使われます。
 
 
-リクエストのライフサイクル <a name="request-lifecycle"></a>
+リクエストのライフサイクル <span id="request-lifecycle"></span>
 --------------------------
 
 次の図は、アプリケーションがどのようにリクエストを処理するかを示すものです。
diff --git a/docs/guide-ja/structure-application-components.md b/docs/guide-ja/structure-application-components.md
index 1a74a1b..1ccf574 100644
--- a/docs/guide-ja/structure-application-components.md
+++ b/docs/guide-ja/structure-application-components.md
@@ -50,7 +50,7 @@
   多くの場合、必要なときにローカルなコンポーネントを作成して使用するだけで十分です。
 
 
-## コンポーネントをブートストラップに含める<a name="bootstrapping-components"></a>
+## コンポーネントをブートストラップに含める<span id="bootstrapping-components"></span>
 
 上述のように、アプリケーションコンポーネントは最初にアクセスされた時に初めてインスタンスが作成されます。
 リクエストの間に全くアクセスされなかった時は、インスタンスは作成されません。
@@ -73,7 +73,7 @@
 ```
 
 
-## コアアプリケーションコンポーネント<a name="core-application-components"></a>
+## コアアプリケーションコンポーネント<span id="core-application-components"></span>
 
 Yii は固定の ID とデフォルトの構成情報を持つ一連の *コア* アプリケーションコンポーネントを定義しています。
 例えば、[[yii\web\Application::request|request]] コンポーネントは、ユーザリクエストに関する情報を収集して、それを [ルート](runtime-routing.md) として解決するために使用されます。
diff --git a/docs/guide-ja/structure-applications.md b/docs/guide-ja/structure-applications.md
index e4d5c77..797bbd9 100644
--- a/docs/guide-ja/structure-applications.md
+++ b/docs/guide-ja/structure-applications.md
@@ -10,7 +10,7 @@
 名前が示すように、前者は主にウェブのリクエストを処理し、後者はコンソールコマンドのリクエストを処理します。
 
 
-## アプリケーションの構成情報<a name="application-configurations"></a>
+## アプリケーションの構成情報<span id="application-configurations"></span>
 
 [エントリスクリプト](structure-entry-scripts.md) は、アプリケーションを作成するときに、下記のように、[構成情報](concept-configurations.md)
 を読み込んで、それをアプリケーションに適用します。
@@ -30,7 +30,7 @@ $config = require(__DIR__ . '/../config/web.php');
 アプリケーションの構成情報は、たいていは非常に複雑なものですから、通常は、上記の例の `web.php` ファイルのように、[構成情報ファイル](concept-configurations.md#configuration-files) に保管されます。
 
 
-## アプリケーションのプロパティ<a name="application-properties"></a>
+## アプリケーションのプロパティ<span id="application-properties"></span>
 
 アプリケーションの構成情報で構成すべき重要なアプリケーションのプロパティは数多くあります。
 それらのプロパティの典型的なものは、アプリケーションが走る環境を記述するものです。
@@ -38,20 +38,20 @@ $config = require(__DIR__ . '/../config/web.php');
 以下において、それらのプロパティを要約します。
 
 
-### 必須のプロパティ<a name="required-properties"></a>
+### 必須のプロパティ<span id="required-properties"></span>
 
 どのアプリケーションでも、最低二つのプロパティは構成しなければなりません。
 すなわち、[[yii\base\Application::id|id]] と [[yii\base\Application::basePath|basePath]] です。
 
 
-#### [[yii\base\Application::id|id]] <a name="id"></a>
+#### [[yii\base\Application::id|id]] <span id="id"></span>
 
 [[yii\base\Application::id|id]] プロパティは、アプリケーションを他のアプリケーションから区別するユニークな ID を規定します。
 このプロパティは主としてプログラム的に使われます。
 必須ではありませんが、最良の相互運用性を確保するために、アプリケーション ID を指定するときに英数字だけを使うことが推奨されます。
 
 
-#### [[yii\base\Application::basePath|basePath]] <a name="basePath"></a>
+#### [[yii\base\Application::basePath|basePath]] <span id="basePath"></span>
 
 [[yii\base\Application::basePath|basePath]] プロパティは、アプリケーションのルートディレクトリを規定します。
 これは、アプリケーションシステムの全ての保護されたソースコードを収容するディレクトリです。
@@ -68,12 +68,12 @@ $config = require(__DIR__ . '/../config/web.php');
 (例えば、runtime ディレクトリを示す `@app/runtime` など)。
 
 
-### 重要なプロパティ<a name="important-properties"></a>
+### 重要なプロパティ<span id="important-properties"></span>
 
 この項で説明するプロパティは、アプリケーションごとに異なってくるものであるため、たいてい、構成する必要が生じます。
 
 
-#### [[yii\base\Application::aliases|aliases]] <a name="aliases"></a>
+#### [[yii\base\Application::aliases|aliases]] <span id="aliases"></span>
 
 このプロパティを使って、配列形式で一連の [エイリアス](concept-aliases.md) を定義することが出来ます。
 配列のキーがエイリアスの名前であり、配列の値が対応するパスの定義です。
@@ -91,7 +91,7 @@ $config = require(__DIR__ . '/../config/web.php');
 このプロパティが提供されているのは、[[Yii::setAlias()]] メソッドを呼び出す代りに、アプリケーションの構成情報を使ってエイリアスを定義することが出来るようにするためです。
 
 
-#### [[yii\base\Application::bootstrap|bootstrap]] <a name="bootstrap"></a>
+#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
 
 これは非常に有用なプロパティです。
 これによって、アプリケーションの [[yii\base\Application::bootstrap()|ブートストラップの過程]] において走らせるべきコンポーネントを配列として指定することが出来ます。
@@ -162,7 +162,7 @@ if (YII_ENV_DEV) {
   ですから、ブートストラップコンポーネントは賢く使ってください。
 
 
-#### [[yii\web\Application::catchAll|catchAll]] <a name="catchAll"></a>
+#### [[yii\web\Application::catchAll|catchAll]] <span id="catchAll"></span>
 
 このプロパティは [[yii\web\Application|ウェブアプリケーション]] においてのみサポートされます。
 これは、全てのユーザリクエストを処理すべき [コントローラアクション](structure-controllers.md) を指定するものです。
@@ -183,7 +183,7 @@ if (YII_ENV_DEV) {
 ```
 
 
-#### [[yii\base\Application::components|components]] <a name="components"></a>
+#### [[yii\base\Application::components|components]] <span id="components"></span>
 
 これこそが、唯一最重要なプロパティです。
 これによって、[アプリケーションコンポーネント](structure-application-components.md) と呼ばれる一連の名前付きのコンポーネントを登録して、それらを他の場所で使うことが出来るようになります。
@@ -212,7 +212,7 @@ if (YII_ENV_DEV) {
 詳細は [アプリケーションコンポーネント](structure-application-components.md) の節を読んでください。
 
 
-#### [[yii\base\Application::controllerMap|controllerMap]] <a name="controllerMap"></a>
+#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
 
 このプロパティは、コントローラ ID を任意のコントローラクラスに割り付けることを可能にするものです。
 既定では、Yii は [規約](#controllerNamespace) に基づいてコントローラ ID をコントローラクラスに割り付けます
@@ -237,7 +237,7 @@ if (YII_ENV_DEV) {
 このプロパティの配列のキーはコントローラ ID を表し、配列の値は対応するコントローラクラスの名前または [構成情報](concept-configurations.md) を表します。
 
 
-#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <a name="controllerNamespace"></a>
+#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <span id="controllerNamespace"></span>
 
 このプロパティは、コントローラクラスが配置されるべき既定の名前空間を指定するものです。
 デフォルト値は `app\controllers` です。
@@ -254,7 +254,7 @@ if (YII_ENV_DEV) {
 上述の規約を破りたい場合は、[controllerMap](#controllerMap) プロパティを構成することが出来ます。
 
 
-#### [[yii\base\Application::language|language]] <a name="language"></a>
+#### [[yii\base\Application::language|language]] <span id="language"></span>
 
 このプロパティは、アプリケーションがコンテンツをエンドユーザに表示するときに使うべき言語を規定します。
 このプロパティのデフォルト値は `en` であり、英語を意味します。
@@ -269,7 +269,7 @@ if (YII_ENV_DEV) {
 このプロパティに関する詳細は [国際化](tutorial-i18n.md) の節で読むことが出来ます。
 
 
-#### [[yii\base\Application::modules|modules]] <a name="modules"></a>
+#### [[yii\base\Application::modules|modules]] <span id="modules"></span>
 
 このプロパティはアプリケーションが含む [モジュール](structure-modules.md) を規定します。
 
@@ -294,7 +294,7 @@ if (YII_ENV_DEV) {
 詳細は [モジュール](structure-modules.md) の節を参照してください。
 
 
-#### [[yii\base\Application::name|name]] <a name="name"></a>
+#### [[yii\base\Application::name|name]] <span id="name"></span>
 
 このプロパティはアプリケーション名を規定します。これは、エンドユーザに対して表示されるかも知れません。[[yii\base\Application::id|id]]
 プロパティがユニークな値でなければならないのとは違って、このプロパティの値は主として表示目的であり、ユニークである必要はありません。
@@ -302,7 +302,7 @@ if (YII_ENV_DEV) {
 コードで使わないのであれば、このプロパティを構成する必要はありません。
 
 
-#### [[yii\base\Application::params|params]] <a name="params"></a>
+#### [[yii\base\Application::params|params]] <span id="params"></span>
 
 このプロパティは、グローバルにアクセス可能なアプリケーションパラメータの配列を規定します。
 コードの中のいたる処でハードコードされた数値や文字列を使う代りに、それらをアプリケーションパラメータとして一ヶ所で定義し、必要な場所ではそのパラメータを使うというのが良いプラクティスです。
@@ -326,7 +326,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 後でサムネールのサイズを変更すると決めたときは、アプリケーションの構成情報においてのみサイズを修正すればよく、これに依存するコードには少しも触れる必要がありません。
 
 
-#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <a name="sourceLanguage"></a>
+#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <span id="sourceLanguage"></span>
 
 このプロパティはアプリケーションコードが書かれている言語を規定します。デフォルト値は`'en-US'`、アメリカ合衆国の英語です。
 あなたのコードのテキスト内容が英語以外で書かれているときは、このプロパティを構成すべきです。
@@ -337,7 +337,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 このプロパティに関する詳細は [国際化](tutorial-i18n.md) の節で読むことが出来ます。
 
 
-#### [[yii\base\Application::timeZone|timeZone]] <a name="timeZone"></a>
+#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
 
 このプロパティは、PHP ランタイムのデフォルトタイムゾーンを設定する代替手段として提供されています。
 このプロパティを構成すると、本質的には PHP 関数 [date_default_timezone_set()](http://php.net/manual/ja/function.date-default-timezone-set.php) を呼ぶことになります。
@@ -350,25 +350,25 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 ```
 
 
-#### [[yii\base\Application::version|version]] <a name="version"></a>
+#### [[yii\base\Application::version|version]] <span id="version"></span>
 
 このプロパティはアプリケーションのバージョンを規定します。デフォルト値は `'1.0'` です。
 コードの中で使わないのであれば、必ずしも構成する必要はありません。
 
 
-### 有用なプロパティ <a name="useful-properties"></a>
+### 有用なプロパティ <span id="useful-properties"></span>
 
 この項で説明されるプロパティは通常は構成されません。というのは、そのデフォルト値が通常の規約を指定しているからです。
 しかしながら、規約を破る必要がある場合には、これらのプロパティを構成することが出来ます。
 
 
-#### [[yii\base\Application::charset|charset]] <a name="charset"></a>
+#### [[yii\base\Application::charset|charset]] <span id="charset"></span>
 
 このプロパティはアプリケーションが使う文字セットを規定します。
 デフォルト値は `'UTF-8'` であり、あなたのアプリケーションが多数の非ユニコードデータを使うレガシーシステムと連携するのでなければ、そのままにしておくべきです。
 
 
-#### [[yii\base\Application::defaultRoute|defaultRoute]] <a name="defaultRoute"></a>
+#### [[yii\base\Application::defaultRoute|defaultRoute]] <span id="defaultRoute"></span>
 
 このプロパティは、リクエストがルートを指定していないときにアプリケーションが使用すべき [ルート](runtime-routing.md) を規定します。
 ルートは、チャイルドモジュール ID、コントローラ ID、および/または アクション ID を構成要素とすることが出来ます。
@@ -383,7 +383,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 結果として、引数を与えずに `yii` というコマンドを走らせると、ヘルプ情報が表示されることになります。
 
 
-#### [[yii\base\Application::extensions|extensions]] <a name="extensions"></a>
+#### [[yii\base\Application::extensions|extensions]] <span id="extensions"></span>
 
 このプロパティは、アプリケーションにインストールされて使われる [エクステンション](structure-extensions.md) を規定するリストです。
 デフォルトでは、`@vendor/yiisoft/extensions.php` というファイルによって返される配列を取ります。
@@ -417,7 +417,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 の配列によって規定することが出来ます。また、エクステンションはいくつかの [エイリアス](concept-aliases.md) を定義することも出来ます。
 
 
-#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
+#### [[yii\base\Application::layout|layout]] <span id="layout"></span>
 
 このプロパティは、[ビュー](structure-views.md) をレンダリングするときに使われるべきデフォルトのレイアウトを規定します。
 デフォルト値は `'main'` であり、[レイアウトパス](#layoutPath) の下にある `main.php` というファイルが使われるべき事を意味します。
@@ -427,7 +427,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 滅多には無いことですが、レイアウトをデフォルトで無効にしたい場合は、このプロパティを `false` として構成することが出来ます。
 
 
-#### [[yii\base\Application::layoutPath|layoutPath]] <a name="layoutPath"></a>
+#### [[yii\base\Application::layoutPath|layoutPath]] <span id="layoutPath"></span>
 
 このプロパティは、レイアウトファイルが捜されるべきパスを規定します。
 デフォルト値は、[ビューパス](#viewPath) の下の `layouts` サブディレクトリです。
@@ -436,7 +436,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 このプロパティはディレクトリまたはパス [エイリアス](concept-aliases.md) として構成することが出来ます。
 
 
-#### [[yii\base\Application::runtimePath|runtimePath]] <a name="runtimePath"></a>
+#### [[yii\base\Application::runtimePath|runtimePath]] <span id="runtimePath"></span>
 
 このプロパティは、ログファイルやキャッシュファイルなどの一時的ファイルを生成することが出来るパスを規定します。
 デフォルト値は、`@app/runtime` というエイリアスで表現されるディレクトリです。
@@ -448,14 +448,14 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 このパスに簡単にアクセスできるように、Yii は `@runtime` というパスエイリアスを事前に定義しています。
 
 
-#### [[yii\base\Application::viewPath|viewPath]] <a name="viewPath"></a>
+#### [[yii\base\Application::viewPath|viewPath]] <span id="viewPath"></span>
 
 このプロパティはビューファイルが配置されるルートディレクトリを規定します。
 デフォルト値は、`@app/views` というエイリアスで表現されるディレクトリです。
 このプロパティはディレクトリまたはパス [エイリアス](concept-aliases.md) として構成することが出来ます。
 
 
-#### [[yii\base\Application::vendorPath|vendorPath]] <a name="vendorPath"></a>
+#### [[yii\base\Application::vendorPath|vendorPath]] <span id="vendorPath"></span>
 
 このプロパティは、[Composer](http://getcomposer.org) によって管理される vendor ディレクトリを規定します。
 Yii フレームワークを含めて、あなたのアプリケーションによって使われる全てのサードパーティライブラリを格納するディレクトリです。
@@ -467,13 +467,13 @@ Yii フレームワークを含めて、あなたのアプリケーションに�
 このパスに簡単にアクセスできるように、Yii は `@vendor` というパスエイリアスを事前に定義しています。
 
 
-#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <a name="enableCoreCommands"></a>
+#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <span id="enableCoreCommands"></span>
 
 このプロパティは [[yii\console\Application|コンソールアプリケーション]] においてのみサポートされています。
 Yii リリースに含まれているコアコマンドを有効にすべきか否かを規定します。デフォルト値は `true` です。
 
 
-## アプリケーションのイベント<a name="application-events"></a>
+## アプリケーションのイベント<span id="application-events"></span>
 
 アプリケーションはリクエストを処理するライフサイクルの中でいくつかのイベントをトリガします。
 これらのイベントに対して、下記のようにして、アプリケーションの構成情報の中でイベントハンドラをアタッチすることが出来ます。
@@ -497,7 +497,7 @@ Yii リリースに含まれているコアコマンドを有効にすべきか�
 });
 ```
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <a name="beforeRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <span id="beforeRequest"></span>
 
 このイベントは、アプリケーションがリクエストを処理する *前* にトリガされます。
 実際のイベント名は `beforeRequest` です。
@@ -507,7 +507,7 @@ Yii リリースに含まれているコアコマンドを有効にすべきか�
 例えば、このイベントハンドラの中で、何らかのパラメータに基づいて [[yii\base\Application::language]] プロパティを動的にセットすることが出来ます。
 
 
-### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <a name="afterRequest"></a>
+### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <span id="afterRequest"></span>
 
 このイベントは、アプリケーションがリクエストの処理を完了した *後*、レスポンスを送信する *前* にトリガされます。
 実際のイベント名は `afterRequest` です。
@@ -518,7 +518,7 @@ Yii リリースに含まれているコアコマンドを有効にすべきか�
 それらのイベントは、このイベントの *後* にトリガされます。
 
 
-### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <a name="beforeAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <span id="beforeAction"></span>
 
 このイベントは、[コントローラアクション](structure-controllers.md) を走らせる *前* に毎回トリガされます。
 実際のイベント名は `beforeAction` です。
@@ -543,7 +543,7 @@ Yii リリースに含まれているコアコマンドを有効にすべきか�
 イベントハンドラが [[yii\base\ActionEvent::isValid]] を `false` にセットすると、後続のイベントはトリガされません。
 
 
-### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <a name="afterAction"></a>
+### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <span id="afterAction"></span>
 
 このイベントは、[コントローラアクション](structure-controllers.md) が走った *後* に毎回トリガされます。
 実際のイベント名は `afterAction` です。
@@ -568,7 +568,7 @@ Yii リリースに含まれているコアコマンドを有効にすべきか�
 すなわち、コントローラオブジェクトが最初にこのイベントをトリガし、次に (もし有れば) モジュールが、そして最後にアプリケーションがこのイベントをトリガします。
 
 
-## アプリケーションのライフサイクル<a name="application-lifecycle"></a>
+## アプリケーションのライフサイクル<span id="application-lifecycle"></span>
 
 ![アプリケーションのライフサイクル](images/application-lifecycle.png)
 
diff --git a/docs/guide-ja/structure-assets.md b/docs/guide-ja/structure-assets.md
index 053ffa4..f742e7f 100644
--- a/docs/guide-ja/structure-assets.md
+++ b/docs/guide-ja/structure-assets.md
@@ -12,13 +12,13 @@ Yii では、アセットは、ウェブページで参照できるファイル�
 このチュートリアルでは、Yii によって提供される強力なアセット管理機能について説明します。
 
 
-## アセットバンドル <a name="asset-bundles"></a>
+## アセットバンドル <span id="asset-bundles"></span>
 
 Yii はアセットを *アセットバンドル* を単位として管理します。アセットバンドルは、簡単に言えば、あるディレクトリの下に集められた一群のアセットです。
 [ビュー](structure-views.md) の中でアセットバンドルを登録すると、バンドルの中の CSS や JavaScript のファイルがレンダリングされるウェブページに挿入されます。
 
 
-## アセットバンドルを定義する <a name="defining-asset-bundles"></a>
+## アセットバンドルを定義する <span id="defining-asset-bundles"></span>
 
 アセットバンドルは [[yii\web\AssetBundle]] から拡張された PHP クラスとして定義されます。
 バンドルの名前は、対応する PHP クラスの完全修飾名 (先頭のバックスラッシュを除く) です。
@@ -88,7 +88,7 @@ class AppAsset extends AssetBundle
   これは [[yii\web\AssetBundle::sourcePath|sourcePath]] プロパティを指定した場合にだけ使用されます。
 
 
-### アセットの配置場所 <a name="asset-locations"></a>
+### アセットの配置場所 <span id="asset-locations"></span>
 
 アセットは、配置場所を基準にして、次のように分類することが出来ます。
 
@@ -113,7 +113,7 @@ class AppAsset extends AssetBundle
   このディレクトリの中のファイルはすべて一時的なものと見なされており、削除されることがあります。
 
 
-### アセットの依存関係 <a name="asset-dependencies"></a>
+### アセットの依存関係 <span id="asset-dependencies"></span>
 
 ウェブページに複数の CSS や JavaScript ファイルをインクルードするときは、オーバーライドの問題を避けるために、一定の順序に従わなければなりません。
 例えば、ウェブページで jQuery UI ウィジェットを使おうとするときは、jQuery JavaScript ファイルが jQuery UI JavaScript ファイルより前にインクルードされることを保証しなければなりません。
@@ -126,7 +126,7 @@ class AppAsset extends AssetBundle
 アセットの依存関係は中継されます。つまり、バンドル A が B に依存し、B が C に依存していると、A は C にも依存していることになります。
 
 
-### アセットのオプション <a name="asset-options"></a>
+### アセットのオプション <span id="asset-options"></span>
 
 [[yii\web\AssetBundle::cssOptions|cssOptions]] および [[yii\web\AssetBundle::jsOptions|jsOptions]] のプロパティを指定して、
 CSS と JavaScript ファイルがページにインクルードされる方法をカスタマイズすることが出来ます。
@@ -195,7 +195,7 @@ class FontAwesomeAsset extends AssetBundle
 `beforeCopy` という発行オプションを指定して、`fonts` と `css` サブディレクトリだけが発行されるようにしています。
 
 
-### Bower と NPM のアセット <a name="bower-npm-assets"></a>
+### Bower と NPM のアセット <span id="bower-npm-assets"></span>
 
 ほとんどの JavaScript/CSS パッケージは、[Bower](http://bower.io/) および/または [NPM](https://www.npmjs.org/) によって管理されています。
 あなたのアプリケーションやエクステンションがそのようなパッケージを使っている場合は、以下のステップに従って、ライブラリの中のアセットを管理することが推奨されます。
@@ -211,7 +211,7 @@ class FontAwesomeAsset extends AssetBundle
   例えば、[[yii\web\JqueryAsset]] は `@bower/jquery` ではなく `@bower/jquery/dist` を使います。
 
 
-## アセットバンドルを使う <a name="using-asset-bundles"></a>
+## アセットバンドルを使う <span id="using-asset-bundles"></span>
 
 アセットバンドルを使うためには、[[yii\web\AssetBundle::register()]] メソッドを呼んでアセットバンドルを [ビュー](structure-views.md) に登録します。
 例えば、次のようにしてビューテンプレートの中でアセットバンドルを登録することが出来ます。
@@ -233,7 +233,7 @@ AppAsset::register($this);  // $this はビューオブジェクトを表す
 これらのタグの順序は、登録されたバンドル間の依存関係、および、[[yii\web\AssetBundle::css]] と [[yii\web\AssetBundle::js] のプロパティのリストに挙げられたアセットの順序によって決定されます。
 
 
-### アセットバンドルをカスタマイズする <a name="customizing-asset-bundles"></a>
+### アセットバンドルをカスタマイズする <span id="customizing-asset-bundles"></span>
 
 Yii は、[[yii\web\AssetManager]] によって実装されている `assetManager` という名前のアプリケーションコンポーネントを通じてアセットバンドルを管理します。
 [[yii\web\AssetManager::bundles]] プロパティを構成することによって、アセットバンドルの振る舞いを
@@ -294,7 +294,7 @@ return [
 [[yii\web\AssetManager::bundles]] を `false` にセットすることによって、*全て* のバンドルを無効にすることも出来ます。
 
 
-### アセットマッピング <a name="asset-mapping"></a>
+### アセットマッピング <span id="asset-mapping"></span>
 
 時として、複数のアセットバンドルで使われている 正しくない/互換でない アセットファイルパスを「修正」したい場合があります。
 例えば、バンドル A がバージョン 1.11.1 の `jquery.min.js` を使い、バンドル B がバージョン 2.1.1 の `jquery.js` を使っているような場合です。
@@ -323,7 +323,7 @@ return [
   そして、置き換える側のアセットのパスは、絶対 URL であるか、[[yii\web\AssetManager::basePath]] からの相対パスであるかの、どちらかでなければなりません。
 
 
-### アセット発行 <a name="asset-publishing"></a>
+### アセット発行 <span id="asset-publishing"></span>
 
 既に述べたように、アセットバンドルがウェブからアクセス出来ないディレクトリに配置されている場合は、バンドルがビューに登録されるときに、アセットがウェブディレクトリにコピーされます。
 このプロセスは *アセット発行* と呼ばれ、[[yii\web\AssetManager|アセットマネージャ]] によって自動的に実行されます。
@@ -349,7 +349,7 @@ return [
 この方がファイルのコピーより速く、また、発行されたアセットが常に最新であることを保証することも出来ます。
 
 
-## よく使われるアセットバンドル <a name="common-asset-bundles"></a>
+## よく使われるアセットバンドル <span id="common-asset-bundles"></span>
 
 コアの Yii コードは多くのアセットバンドルを定義しています。
 その中で、下記のバンドルはよく使われるものであり、あなたのアプリケーションやエクステンションのコードでも参照することが出来るものです。
@@ -366,7 +366,7 @@ return [
 これらのバンドルのデフォルトの設定があなたの必要を満たさない時は、[アセットバンドルをカスタマイズする](#customizing-asset-bundles) の項で説明したように、それをカスタマイズすることが出来ます。
 
 
-## アセット変換 <a name="asset-conversion"></a>
+## アセット変換 <span id="asset-conversion"></span>
 
 直接に CSS および/または JavaScript のコードを書く代りに、何らかの拡張構文を使って書いたものを特別なツールを使って CSS/JavaScript に変換する、ということを開発者はしばしば行います。
 例えば、CSS コードのためには、[LESS](http://lesscss.org/) や [SCSS](http://sass-lang.com/) を使うことが出来ます。
@@ -434,7 +434,7 @@ return [
   この場合は、元のファイルではなく、結果として作られる CSS/JavaScript ファイルをアセットバンドルのリストに挙げなければなりません。
 
 
-## アセットを結合して圧縮する <a name="combining-compressing-assets"></a>
+## アセットを結合して圧縮する <span id="combining-compressing-assets"></span>
 
 ウェブページは数多くの CSS および/または JavaScript ファイルをインクルードすることがあり得ます。
 HTTP リクエストの数とこれらのファイルの全体としてのダウンロードサイズを削減するためによく用いられる方法は、複数の CSS/JavaScript ファイルを結合して圧縮し、一つまたはごく少数のファイルにまとめることです。
@@ -456,7 +456,7 @@ HTTP リクエストの数とこれらのファイルの全体としてのダウ
 そして、結果として、結合/圧縮されたアセットファイルが、元のファイルの代りに、ページにインクルードされます。
 
 
-### 一例 <a name="example"></a>
+### 一例 <span id="example"></span>
 
 上記の方法をさらに説明するために一つの例を挙げましょう。
 
@@ -529,7 +529,7 @@ return [
 つまり、アセットバンドルの構成情報配列は、本番モードのものは `assets-prod.php` に保存し、開発モードのものは `assets-dev.php` に保存するという訳です。
 
 
-### `asset` コマンドを使う <a name="using-asset-command"></a>
+### `asset` コマンドを使う <span id="using-asset-command"></span>
 
 Yii は、たった今説明した方法を自動化するための `asset` という名前のコンソールコマンドを提供しています。
 
diff --git a/docs/guide-ja/structure-controllers.md b/docs/guide-ja/structure-controllers.md
index f39b4e6..afc987a 100644
--- a/docs/guide-ja/structure-controllers.md
+++ b/docs/guide-ja/structure-controllers.md
@@ -7,7 +7,7 @@
 に引き渡して、モデルが生成した結果を [ビュー](structure-views.md) に投入し、最終的に外に出て行くレスポンスを生成します。
 
 
-## アクション<a name="actions"></a>
+## アクション<span id="actions"></span>
 
 コントローラは *アクション* から構成されます。
 アクションは、エンドユーザがアドレスを指定して実行をリクエストできる最も基本的な構成単位です。
@@ -62,7 +62,7 @@ class PostController extends Controller
 どちらかが失敗したときは、ユーザが必要なデータを入力できるようにするための `create` ビューを表示します。
 
 
-## ルート<a name="routes"></a>
+## ルート<span id="routes"></span>
 
 エンドユーザは、いわゆる *ルート* によって、アクションのアドレスを指定します。
 ルートは、次の部分からなる文字列です。
@@ -88,7 +88,7 @@ ModuleID/ControllerID/ActionID
 ルートがどのようにしてアクションとして解決されるかについての詳細は、[ルーティングと URL 生成](runtime-routing.md) の節を参照してください。
 
 
-## コントローラを作成する<a name="creating-controllers"></a>
+## コントローラを作成する<span id="creating-controllers"></span>
 
 [[yii\web\Application|ウェブアプリケーション]] では、コントローラは [[yii\web\Controller]] またはその子クラスから派生させるべきものです。
 同様に、[[yii\console\Application|コンソールアプリケーション]] では、コントローラは [[yii\console\Controller]] またはその子クラスから派生させるべきものです。
@@ -105,7 +105,7 @@ class SiteController extends Controller
 ```
 
 
-### コントローラの ID<a name="controller-ids"></a>
+### コントローラの ID<span id="controller-ids"></span>
 
 通常、コントローラは特定の型のリソースに関するリクエストを処理するように設計されます。
 この理由により、たいていはコントローラが処理するリソースの型を示す名詞をコントローラの ID として使います。
@@ -121,7 +121,7 @@ class SiteController extends Controller
 フォワードスラッシュは、複数レベルのサブディレクトリの区切り文字として使われます (例えば、`panels/admin`)。
 
 
-### コントローラクラスの命名規則<a name="controller-class-naming"></a>
+### コントローラクラスの命名規則<span id="controller-class-naming"></span>
 
 コントローラクラスの名前は下記の規則に従ってコントローラの ID から導出することが出来ます。
 
@@ -148,7 +148,7 @@ class SiteController extends Controller
   この方法は、コントローラをいくつかのカテゴリに分けて整理したい、けれども [モジュール](structure-modules.md) は使いたくない、という場合に役立ちます。
 
 
-### コントローラマップ<a name="controller-map"></a>
+### コントローラマップ<span id="controller-map"></span>
 
 [[yii\base\Application::controllerMap|コントローラマップ]] を構成すると、上で述べたコントローラの ID とクラス名の制約を乗り越えることが出来ます。
 これは、主として、クラス名に対する制御が及ばないサードパーティのコントローラを使おうとする場合に有用です。
@@ -171,7 +171,7 @@ class SiteController extends Controller
 ```
 
 
-### デフォルトコントローラ<a name="default-controller"></a>
+### デフォルトコントローラ<span id="default-controller"></span>
 
 全てのアプリケーションは、それぞれ、[[yii\base\Application::defaultRoute]] プロパティを通じて規定されるデフォルトコントローラを持ちます。
 リクエストが [ルート](#ids-routes) を指定しない場合、このプロパティによって指定されたルートが使われます。
@@ -187,7 +187,7 @@ class SiteController extends Controller
 ```
 
 
-## アクションを作成する<a name="creating-actions"></a>
+## アクションを作成する<span id="creating-actions"></span>
 
 アクションの作成は、コントローラクラスの中にいわゆる *アクションメソッド* を定義するだけの簡単なことです。
 アクションメソッドとは、`action` という語で始まる名前を持つ *public* メソッドのことです。
@@ -214,7 +214,7 @@ class SiteController extends Controller
 ```
 
 
-### アクション ID<a name="action-ids"></a>
+### アクション ID<span id="action-ids"></span>
 
 アクションは、たいてい、あるリソースについて特定の操作を実行するように設計されます。
 この理由により、アクション ID は、通常、`view`、`update` などのような動詞になります。
@@ -231,7 +231,7 @@ class SiteController extends Controller
 として再配布されることを意図して作成されます。
 
 
-### インラインアクション<a name="inline-actions"></a>
+### インラインアクション<span id="inline-actions"></span>
 
 インラインアクションは、たった今説明したように、アクションメソッドとして定義されるアクションを指します。
 
@@ -254,7 +254,7 @@ class SiteController extends Controller
 しかし、同じアクションを別の場所で再利用する計画を持っていたり、また、アクションを再配布したいと思っていたりする場合は、アクションを *スタンドアロンアクション* として定義することを考慮すべきです。
 
 
-### スタンドアロンアクション<a name="standalone-actions"></a>
+### スタンドアロンアクション<span id="standalone-actions"></span>
 
 スタンドアロンアクションは、[[yii\base\Action]] またはその子クラスを拡張したクラスとして定義されるものです。
 例えば、Yii のリリースに [[yii\web\ViewAction]] と [[yii\web\ErrorAction]] が含まれていますが、これらは両方ともスタンドアロンアクションです。
@@ -302,7 +302,7 @@ class HelloWorldAction extends Action
 ```
 
 
-### アクションの結果<a name="action-results"></a>
+### アクションの結果<span id="action-results"></span>
 
 アクションメソッド、または、スタンドアロンアクションの `run()` メソッドの返り値は、重要な意味を持ちます。
 それは、対応するアクションの結果を表すものです。
@@ -325,7 +325,7 @@ public function actionForward()
 ```
 
 
-### アクションパラメータ<a name="action-parameters"></a>
+### アクションパラメータ<span id="action-parameters"></span>
 
 インラインアクションのアクションメソッドと、スタンドアロンアクションの `run()` メソッドは、*アクションパラメータ* と呼ばれる引数を取ることが出来ます。
 パラメータの値はリクエストから取得されます。
@@ -372,7 +372,7 @@ public function actionView(array $id, $version = null)
 コンソールアプリケーションについては、[コンソールコマンド](tutorial-console.md) の節で詳細を参照してください。
 
 
-### デフォルトアクション<a name="default-action"></a>
+### デフォルトアクション<span id="default-action"></span>
 
 すべてのコントローラは、それぞれ、[[yii\base\Controller::defaultAction]] によって規定されるデフォルトアクションを持ちます。
 [ルート](#ids-routes) がコントローラ ID のみを含む場合は、指定されたコントローラのデフォルトアクションがリクエストされたことを意味します。
@@ -397,7 +397,7 @@ class SiteController extends Controller
 ```
 
 
-## コントローラのライフサイクル<a name="controller-lifecycle"></a>
+## コントローラのライフサイクル<span id="controller-lifecycle"></span>
 
 リクエストを処理するときに、[アプリケーション](structure-applications.md) はリクエストされた [ルート](#routes) に基いてコントローラを作成します。
 そして、次に、コントローラはリクエストに応じるために以下のライフサイクルを経過します。
@@ -418,7 +418,7 @@ class SiteController extends Controller
 6. アプリケーションはアクションの結果を受け取り、それを [レスポンス](runtime-responses.md) に割り当てる。
 
 
-## ベストプラクティス<a name="best-practices"></a>
+## ベストプラクティス<span id="best-practices"></span>
 
 良く設計されたアプリケーションでは、コントローラはたいてい非常に軽いものになり、それぞれのアクションは数行のコードしか含まないものになります。
 あなたのコントローラが少々複雑になっている場合、そのことは、通常、コントローラをリファクタして、コードの一部を他のクラスに移動すべきことを示すものです。
diff --git a/docs/guide-ja/structure-entry-scripts.md b/docs/guide-ja/structure-entry-scripts.md
index faa199b..7cda05d 100644
--- a/docs/guide-ja/structure-entry-scripts.md
+++ b/docs/guide-ja/structure-entry-scripts.md
@@ -21,7 +21,7 @@
 * [[yii\base\Application::run()]] を呼んで、受け取ったリクエストを処理する。
 
 
-## ウェブアプリケーション<a name="web-applications"></a>
+## ウェブアプリケーション<span id="web-applications"></span>
 
 次に示すのが、[ベーシックウェブアプリケーションテンプレート](start-installation.md) のエントリスクリプトです。
 
@@ -45,7 +45,7 @@ $config = require(__DIR__ . '/../config/web.php');
 ```
 
 
-## コンソールアプリケーション<a name="console-applications"></a>
+## コンソールアプリケーション<span id="console-applications"></span>
 
 同様に、下記がコンソールアプリケーションのエントリスクリプトです:le application:
 
@@ -81,7 +81,7 @@ exit($exitCode);
 ```
 
 
-## 定数を定義する<a name="defining-constants"></a>
+## 定数を定義する<span id="defining-constants"></span>
 
 グローバルな定数を定義するには、エントリスクリプトが最善の場所です。
 Yii は下記の三つの定数をサポートしています:
diff --git a/docs/guide-ja/structure-extensions.md b/docs/guide-ja/structure-extensions.md
index d6c430d..e46760e 100644
--- a/docs/guide-ja/structure-extensions.md
+++ b/docs/guide-ja/structure-extensions.md
@@ -9,7 +9,7 @@
 > Info|情報: 「エクステンション」という用語は Yii に限定されたソフトウェアパッケージを指すものとして使用します。
   Yii がなくても使用できる汎用のソフトウェアパッケージを指すためには、「パッケージ」または「ライブラリ」という用語を使うことにします。
 
-## エクステンションを使う <a name="using-extensions"></a>
+## エクステンションを使う <span id="using-extensions"></span>
 
 エクステンションを使うためには、先ずはそれをインストールする必要があります。
 ほとんどのエクステンションは [Composer](https://getcomposer.org/) のパッケージとして配布されていて、次の二つの簡単なステップをふめばインストールすることが出来ます。
@@ -65,7 +65,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 > Info|情報: エクステンションのクラスは [Yii クラスオートローダ](concept-autoloading.md) によってオートロードされます。
 
 
-### エクステンションを手作業でインストールする <a name="installing-extensions-manually"></a>
+### エクステンションを手作業でインストールする <span id="installing-extensions-manually"></span>
 
 あまり無いことですが、いくつかまたは全てのエクステンションを Composer に頼らずに手作業でインストールしたい場合があるかもしれません。
 そうするためには、次のようにしなければなりません。
@@ -90,7 +90,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 ```
 
 
-## エクステンションを作成する <a name="creating-extensions"></a>
+## エクステンションを作成する <span id="creating-extensions"></span>
 
 あなたの優れたコードを他の人々と共有する必要があると感じたときは、エクステンションを作成することを考慮するのが良いでしょう。
 エクステンションは、ヘルパクラス、ウィジェット、モジュールなど、どのようなコードでも含むことが出来ます。
@@ -108,7 +108,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
    そうすると、他のユーザがエクステンションを見つけて Composer を使ってインストールすることが出来るようになります。
 
 
-### `composer.json` <a name="composer-json"></a>
+### `composer.json` <span id="composer-json"></span>
 
 全ての Composer パッケージは、ルートディレクトリに `composer.json` というファイルを持たなければなりません。
 このファイルはパッケージに関するメタデータを含むものです。
@@ -156,7 +156,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 ```
 
 
-#### パッケージ名 <a name="package-name"></a>
+#### パッケージ名 <span id="package-name"></span>
 
 全ての Composer パッケージは、他の全てパッケージに対して唯一のものとして特定できるような名前を持たなければなりません。
 パッケージ名の形式は `vendorName/projectName` です。
@@ -168,7 +168,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 このようにすると、ユーザはパッケージが Yii 2 エクステンションであることをより容易に知ることが出来ます。
 
 
-#### パッケージタイプ <a name="package-type"></a>
+#### パッケージタイプ <span id="package-type"></span>
 
 パッケージがインストールされたときに Yii のエクステンションとして認識されるように、エクステンションのパッケージタイプを `yii2-extension` と指定することは重要なことです。
 
@@ -177,7 +177,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 (その情報には、[[yii\base\Application::extensions]] を通じてアクセス出来ます)。
 
 
-#### 依存パッケージ <a name="dependencies"></a>
+#### 依存パッケージ <span id="dependencies"></span>
 
 あなたのエクステンションは Yii に依存します (当然ですね)。
 ですから、`composer.json` の `require` エントリのリストにそれ (`yiisoft/yii2`) を挙げなければなりません。
@@ -207,7 +207,7 @@ Composer が Bower または NPM のパッケージをインストールする�
 アセット管理に関する詳細については、[アセット](structure-assets.md#bower-npm-assets) の節を参照してください。
 
 
-#### クラスのオートロード <a name="class-autoloading"></a>
+#### クラスのオートロード <span id="class-autoloading"></span>
 
 エクステンションのクラスが Yii のクラスオートローダまたは Composer のクラスオートローダによってオートロードされるように、下記に示すように、`composer.json` ファイルの `autoload` エントリを指定しなければなりません。
 
@@ -229,13 +229,13 @@ Composer が Bower または NPM のパッケージをインストールする�
 例えば、上記の `autoload` の宣言は、`@yii/imagine` という名前のエイリアスに対応することになります。
 
 
-### 推奨されるプラクティス <a name="recommended-practices"></a>
+### 推奨されるプラクティス <span id="recommended-practices"></span>
 
 エクステンションは他の人々によって使われることを意図したものですから、多くの場合、追加の開発努力が必要になります。
 以下に、高品質のエクステンションを作成するときによく用いられ、また推奨されるプラクティスのいくつかを紹介します。
 
 
-#### 名前空間 <a name="namespaces"></a>
+#### 名前空間 <span id="namespaces"></span>
 
 名前の衝突を避けて、エクステンションの中のクラスをオートロード可能にするために、名前空間を使うべきであり、エクステンションの中のクラスに
 [PSR-4 標準](http://www.php-fig.org/psr/psr-4/) または [PSR-0 標準](http://www.php-fig.org/psr/psr-0/) に従った名前を付けるべきです。
@@ -247,7 +247,7 @@ Composer が Bower または NPM のパッケージをインストールする�
 `yii`、`yii2` または `yiisoft` をベンダー名として使ってはいけません。これらの名前は、Yii のコアコードに使うために予約されています。
 
 
-#### ブートストラップクラス <a name="bootstrapping-classes"></a>
+#### ブートストラップクラス <span id="bootstrapping-classes"></span>
 
 場合によっては、アプリケーションが [ブートストラップ](runtime-bootstrapping.md) の段階にある間に、エクステンションに何らかのコードを実行させたい場合があるでしょう。
 例えば、エクステンションをアプリケーションの `beginRequest` イベントに反応させて、何らかの環境設定を調整したいことがあります。
@@ -289,7 +289,7 @@ class MyBootstrapClass implements BootstrapInterface
 が自動的にブートストラップクラスのインスタンスを作成し、その [[yii\base\BootstrapInterface::bootstrap()|bootstrap()]] メソッドを呼びます。
 
 
-#### データベースを扱う <a name="working-with-databases"></a>
+#### データベースを扱う <span id="working-with-databases"></span>
 
 あなたのエクステンションはデータベースにアクセスする必要があるかも知れません。
 エクステンションを使うアプリケーションが常に `Yii::$db` を DB 接続として使用すると仮定してはいけません。
@@ -304,7 +304,7 @@ class MyBootstrapClass implements BootstrapInterface
 - マイグレーションの中では [アクティブレコード](db-active-record.md) の使用を避ける。
 
 
-#### アセットを使う <a name="using-assets"></a>
+#### アセットを使う <span id="using-assets"></span>
 
 あなたのエクステンションがウィジェットかモジュールである場合は、動作するために何らかの [アセット](structure-assets.md) が必要である可能性が高いでしょう。
 例えば、モジュールは、画像、JavaScript、そして CSS を含むページをいくつか表示するでしょう。
@@ -318,7 +318,7 @@ class MyBootstrapClass implements BootstrapInterface
 アセットの取り扱い一般に関する詳細は [アセット](structure-assets.md) の節を参照してください。
 
 
-#### 国際化と地域化 <a name="i18n-l10n"></a>
+#### 国際化と地域化 <span id="i18n-l10n"></span>
 
 あなたのエクステンションは、さまざまな言語をサポートするアプリケーションによって使われるかもしれません。
 従って、あなたのエクステンションがエンドユーザにコンテンツを表示するものである場合は、それを [国際化](tutorial-i18n.md) するように努めるべきです。
@@ -331,7 +331,7 @@ class MyBootstrapClass implements BootstrapInterface
 詳細については、[国際化](tutorial-i18n.md) の節を参照してください。
 
 
-#### テスト <a name="testing"></a>
+#### テスト <span id="testing"></span>
 
 あなたは、あなたのエクステンションが他の人々に問題をもたらすことなく完璧に動作することを望むでしょう。
 この目的を達するためには、あなたのエクステンションを公開する前にテストすべきです。
@@ -342,13 +342,13 @@ Yii はテストのサポートを提供しており、それよって、ユニ�
 詳細については、[テスト](test-overview.md) の節を参照してください。
 
 
-#### バージョン管理 <a name="versioning"></a>
+#### バージョン管理 <span id="versioning"></span>
 
 エクステンションのリリースごとにバージョン番号 (例えば `1.0.1`) を付けるべきです。
 どのようなバージョン番号を付けるべきかを決定するときは、[セマンティックバージョニング](http://semver.org) のプラクティスに従うことを推奨します。
 
 
-#### リリース(公開) <a name="releasing"></a>
+#### リリース(公開) <span id="releasing"></span>
 
 他の人々にあなたのエクステンションを知ってもらうためには、それをリリース(公開)する必要があります。
 
@@ -374,7 +374,7 @@ Yii はテストのサポートを提供しており、それよって、ユニ�
   [コアフレームワークコードスタイル](https://github.com/yiisoft/yii2/wiki/Core-framework-code-style) を参照してください。
 
 
-## コアエクステンション <a name="core-extensions"></a>
+## コアエクステンション <span id="core-extensions"></span>
 
 Yii は下記のコアエクステンションを提供しています。これらは Yii 開発チームによって開発され保守されているものです。
 全て [Packagist](https://packagist.org/) に登録され、[エクステンションを使う](#using-extensions) の項で説明したように、簡単にインストールすることが出来ます。
diff --git a/docs/guide-ja/structure-filters.md b/docs/guide-ja/structure-filters.md
index aa2cc9b..9f17203 100644
--- a/docs/guide-ja/structure-filters.md
+++ b/docs/guide-ja/structure-filters.md
@@ -8,7 +8,7 @@
 フィルタは、前フィルタ (アクションの *前* に適用されるフィルタのロジック) および/または 後フィルタ (アクションの *後* に適用されるフィルタ) から構成されます。
 
 
-## フィルタを使用する <a name="using-filters"></a>
+## フィルタを使用する <span id="using-filters"></span>
 
 フィルタは、本質的には特別な種類の [ビヘイビア](concept-behaviors.md) です。
 したがって、フィルタを使うことは [ビヘイビアを使う](concept-behaviors.md#attaching-behaviors) ことと同じです。
@@ -57,7 +57,7 @@ public function behaviors()
     - アプリケーションで宣言されたフィルタを `behaviors()` にリストされた逆順で適用する。
 
 
-## フィルタを作成する <a name="creating-filters"></a>
+## フィルタを作成する <span id="creating-filters"></span>
 
 新しいアクションフィルタを作成するためには、[[yii\base\ActionFilter]] を拡張して、[[yii\base\ActionFilter::beforeAction()|beforeAction()]]
 および/または [[yii\base\ActionFilter::afterAction()|afterAction()]] メソッドをオーバーライドします。
@@ -93,13 +93,13 @@ class ActionTimeFilter extends ActionFilter
 ```
 
 
-## コアのフィルタ <a name="core-filters"></a>
+## コアのフィルタ <span id="core-filters"></span>
 
 Yii はよく使われる一連のフィルタを提供しており、それらは、主として `yii\filters` 名前空間の下にあります。
 以下では、それらのフィルタを簡単に紹介します。
 
 
-### [[yii\filters\AccessControl|AccessControl]] <a name="access-control"></a>
+### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
 
 AccessControl は、一組の [[yii\filters\AccessControl::rules|規則]] に基づいて、シンプルなアクセスコントロールを提供するものです。
 具体的に言うと、アクションが実行される前に、AccessControl はリストされた規則を調べて、現在のコンテキスト変数
@@ -135,7 +135,7 @@ public function behaviors()
 アクセスコントロール一般についての詳細は [権限](security-authorization.md) の節を参照してください。
 
 
-### 認証メソッドフィルタ <a name="auth-method-filters"></a>
+### 認証メソッドフィルタ <span id="auth-method-filters"></span>
 
 認証メソッドフィルタは、[HTTP Basic 認証](http://ja.wikipedia.org/wiki/Basic%E8%AA%8D%E8%A8%BC)、
 [OAuth 2](http://oauth.net/2/) など、様々なメソッドを使ってユーザを認証するために使われるものです。
@@ -163,7 +163,7 @@ public function behaviors()
 詳細については、RESTful の [認証](rest-authentication.md) の節を参照してください。
 
 
-### [[yii\filters\ContentNegotiator|ContentNegotiator]] <a name="content-negotiator"></a>
+### [[yii\filters\ContentNegotiator|ContentNegotiator]] <span id="content-negotiator"></span>
 
 ContentNegotiator は、レスポンス形式のネゴシエーションとアプリケーション言語のネゴシエーションをサポートします。
 このフィルタは `GET` パラメータと `Accept` HTTP ヘッダを調べることによって、レスポンス形式 および/または 言語を決定しようとします。
@@ -223,7 +223,7 @@ use yii\web\Response;
 
 
 
-### [[yii\filters\HttpCache|HttpCache]] <a name="http-cache"></a>
+### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
 
 HttpCache は `Last-Modified` および `Etag` の HTTP ヘッダを利用して、クライアントサイドのキャッシュを実装するものです。
 
@@ -248,7 +248,7 @@ public function behaviors()
 HttpCache に関する詳細は [HTTP キャッシュ](caching-http.md) の節を参照してください。
 
 
-### [[yii\filters\PageCache|PageCache]] <a name="page-cache"></a>
+### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
 
 PageCache はサーバサイドにおけるページ全体のキャッシュを実装するものです。
 次の例では、PageCache が `index` アクションに適用されて、最大 60 秒間、または、`post` テーブルのエントリ数が変化するまでの間、ページ全体をキャッシュしています。
@@ -280,14 +280,14 @@ public function behaviors()
 PageCache の使用に関する詳細は [ページキャッシュ](caching-page.md) の節を参照してください。
 
 
-### [[yii\filters\RateLimiter|RateLimiter]] <a name="rate-limiter"></a>
+### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
 
 RateLimiter は [リーキーバケットアルゴリズム](http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%BC%E3%82%AD%E3%83%BC%E3%83%90%E3%82%B1%E3%83%83%E3%83%88)
 に基づいてレート制限のアルゴリズムを実装するものです。主として RESTful API を実装するときに使用されます。
 このフィルタの使用に関する詳細は [レート制限](rest-rate-limiting.md) の節を参照してください。
 
 
-### [[yii\filters\VerbFilter|VerbFilter]] <a name="verb-filter"></a>
+### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
 
 VerbFilter は、HTTP リクエストメソッド (HTTP 動詞) がリクエストされたアクションによって許可されているかどうかをチェックするものです。
 許可されていない場合は、HTTP 405 例外を投げます。
@@ -313,7 +313,7 @@ public function behaviors()
 }
 ```
 
-### [[yii\filters\Cors|Cors]] <a name="cors"></a>
+### [[yii\filters\Cors|Cors]] <span id="cors"></span>
 
 クロスオリジンリソース共有 [CORS](https://developer.mozilla.org/ja/docs/HTTP_access_control) とは、ウェブページにおいて、さまざまなリソース
 (例えば、フォントや JavaScript など) を、それを生成するドメイン以外のドメインからリクエストすることを可能にするメカニズムです。
diff --git a/docs/guide-ja/structure-models.md b/docs/guide-ja/structure-models.md
index cd6acad..4fc46a7 100644
--- a/docs/guide-ja/structure-models.md
+++ b/docs/guide-ja/structure-models.md
@@ -21,7 +21,7 @@
   通常は [[yii\base\Model]] がモデルの基底クラスとして推奨されます。
 
 
-## 属性<a name="attributes"></a>
+## 属性<span id="attributes"></span>
 
 モデルは業務のデータを *属性* の形式で表現します。
 全ての属性はそれぞれパブリックにアクセス可能なモデルのプロパティと同様なものです。
@@ -54,7 +54,7 @@ foreach ($model as $name => $value) {
 ```
 
 
-### 属性を定義する<a name="defining-attributes"></a>
+### 属性を定義する<span id="defining-attributes"></span>
 
 あなたのモデルが [[yii\base\Model]] を直接に拡張するものである場合、既定によって、全ての *static でない public な* メンバ変数は属性となります。
 例えば、次に示す `ContactForm` モデルは4つの属性、すなわち、`name`、`email`、`subject`、そして、`body` を持ちます。
@@ -82,7 +82,7 @@ class ContactForm extends Model
 `__get()` や `__set()` などのマジックメソッドをオーバーライドする必要があるかもしれないことに注意してください。
 
 
-### 属性のラベル <a name="attribute-labels"></a>
+### 属性のラベル <span id="attribute-labels"></span>
 
 属性の値を表示したり、入力してもらったりするときに、属性と関連付けられたラベルを表示する必要があることがよくあります。
 例えば、`firstName` という名前の属性を考えたとき、入力フォームやエラーメッセージのような箇所でエンドユーザに表示するときは、もっとユーザフレンドリーな `First Name` というラベルを表示したいと思うでしょう。
@@ -149,7 +149,7 @@ public function attributeLabels()
   しかし、たいていの場合、モデルの中でラベルを宣言する方が便利が良く、結果としてクリーンで再利用可能なコードになります。
 
 
-## シナリオ<a name="scenarios"></a>
+## シナリオ<span id="scenarios"></span>
 
 モデルはさまざまに異なる *シナリオ* で使用されます。
 例えば、`User` モデルはユーザログインの入力を収集するために使われますが、同時に、ユーザ登録の目的でも使われます。
@@ -222,7 +222,7 @@ class User extends ActiveRecord
 しかし、他の目的に使うことも可能です。例えば、現在のシナリオに基づいて異なる [属性のラベル](#attribute-labels) を宣言することも出来ます。
 
 
-## 検証規則<a name="validation-rules"></a>
+## 検証規則<span id="validation-rules"></span>
 
 モデルのデータをエンドユーザから受け取ったときは、データを検証して、それが一定の規則 (*検証規則*、あるいは、いわゆる *ビジネスルール*) を満たしていることを確認しなければなりません。
 `ContactForm` モデルを例に挙げるなら、全ての属性が空ではなく、`email` 属性が有効なメールアドレスを含んでいることを確認したいでしょう。
@@ -291,7 +291,7 @@ public function rules()
 の中で宣言されている一つまたは複数のアクティブな規則と結び付けられている場合であり、また、そのような場合だけです。
 
 
-## 一括代入<a name="massive-assignment"></a>
+## 一括代入<span id="massive-assignment"></span>
 
 一括代入は、一行のコードを書くだけで、ユーザの入力したデータをモデルに投入できる便利な方法です。
 一括代入は、入力されたデータを [[yii\base\Model::$attributes]] に直接に代入することによって、モデルの属性にデータを投入します。
@@ -313,7 +313,7 @@ $model->body = isset($data['body']) ? $data['body'] : null;
 ```
 
 
-### 安全な属性<a name="safe-attributes"></a>
+### 安全な属性<span id="safe-attributes"></span>
 
 一括代入は、いわゆる *安全な属性*、すなわち、[[yii\base\Model::scenarios()]] においてモデルの現在の [[yii\base\Model::scenario|シナリオ]]
 のためにリストされている属性に対してのみ適用されます。
@@ -348,7 +348,7 @@ public function rules()
 ```
 
 
-### 安全でない属性<a name="unsafe-attributes"></a>
+### 安全でない属性<span id="unsafe-attributes"></span>
 
 上記で説明したように、[[yii\base\Model::scenarios()]] メソッドは二つの目的を持っています。
 すなわち、どの属性が検証されるべきかを決めることと、どの属性が安全であるかを決めることです。
@@ -373,7 +373,7 @@ $model->secret = $secret;
 ```
 
 
-## データのエクスポート <a name="data-exporting"></a>
+## データのエクスポート <span id="data-exporting"></span>
 
 モデルを他の形式にエクスポートする必要が生じることはよくあります。例えば、一群のモデルを JSON や
 Excel 形式に変換したい場合があるでしょう。
@@ -400,7 +400,7 @@ $array = $post->attributes;
 ウェブサービスの開発においては、これがモデルをエクスポートする既定の方法となっています。
 
 
-### フィールド<a name="fields"></a>
+### フィールド<span id="fields"></span>
 
 フィールドとは、単に、モデルの [[yii\base\Model::toArray()]] メソッドを呼ぶことによって取得される配列に含まれる名前付きの要素のことです。
 
@@ -460,7 +460,7 @@ public function fields()
 > および `password_reset_token` を選んで除去しています。
 
 
-## ベストプラクティス<a name="best-practices"></a>
+## ベストプラクティス<span id="best-practices"></span>
 
 モデルは、業務のデータ、規則、ロジックを表わす中心的なオブジェクトです。
 モデルは、さまざまな場所で再利用される必要がよくあります。
diff --git a/docs/guide-ja/structure-modules.md b/docs/guide-ja/structure-modules.md
index cec1f79..8bf3c85 100644
--- a/docs/guide-ja/structure-modules.md
+++ b/docs/guide-ja/structure-modules.md
@@ -7,7 +7,7 @@
 しかし、モジュールは単独では配置できず、アプリケーションの中に存在しなければならないという点で [アプリケーション](structure-applications.md) とは異なります。
 
 
-## モジュールを作成する <a name="creating-modules"></a>
+## モジュールを作成する <span id="creating-modules"></span>
 
 モジュールは、モジュールの [[yii\base\Module::basePath|ベースパス]] と呼ばれるディレクトリとして組織されます。
 このディレクトリの中に、ちょうどアプリケーションの場合と同じように、`controllers`、`models`、`views`
@@ -27,7 +27,7 @@ forum/
 ```
 
 
-### モジュールクラス <a name="module-classes"></a>
+### モジュールクラス <span id="module-classes"></span>
 
 全てのモジュールは [[yii\base\Module]] から拡張したユニークなモジュールクラスを持たなければなりません。
 モジュールクラスは、モジュールの [[yii\base\Module::basePath|ベースパス]] 直下に配置されて [オートロード可能](concept-autoloading.md) になっていなければなりません。
@@ -78,7 +78,7 @@ return [
 ```
 
 
-### モジュール内のコントローラ <a name="controllers-in-modules"></a>
+### モジュール内のコントローラ <span id="controllers-in-modules"></span>
 
 モジュールの中でコントローラを作成するときは、コントローラクラスをモジュールクラスの名前空間の `controllers` サブ名前空間に置くことが規約です。
 このことは、同時に、コントローラのクラスファイルをモジュールの [[yii\base\Module::basePath|ベースパス]] 内の `controllers` ディレクトリに置くべきことをも意味します。
@@ -100,7 +100,7 @@ class PostController extends Controller
 これは、[アプリケーションでのコントローラマップ](structure-applications.md#controller-map) の場合と同様です。
 
 
-### モジュール内のビュー <a name="views-in-modules"></a>
+### モジュール内のビュー <span id="views-in-modules"></span>
 
 モジュール内のビューは、モジュールの [[yii\base\Module::basePath|ベースパス]] 内の `views` ディレクトリに置かれなくてはなりません。
 モジュール内のコントローラによってレンダリングされるビューは、ディレクトリ `views/ControllerID` の下に置きます。
@@ -112,7 +112,7 @@ class PostController extends Controller
 `layout` プロパティを構成しない場合は、アプリケーションのレイアウトが代りに使用されます。
 
 
-## モジュールを使う <a name="using-modules"></a>
+## モジュールを使う <span id="using-modules"></span>
 
 アプリケーションの中でモジュールを使うためには、アプリケーションの [[yii\base\Application::modules|modules]] プロパティのリストにそのモジュールを載せてアプリケーションを構成するだけで大丈夫です。
 次のコードは、[アプリケーションの構成情報](structure-applications.md#application-configurations) の中で `forum` モジュールを使うようにするものです。
@@ -133,7 +133,7 @@ class PostController extends Controller
 そして、対応する配列の値は、そのモジュールを作成するための [構成情報](concept-configurations.md) です。
 
 
-### ルート <a name="routes"></a>
+### ルート <span id="routes"></span>
 
 アプリケーションの中のコントローラをアクセスするのと同じように、[ルート](structure-controllers.md#routes) がモジュールの中のコントローラを指し示すために使われます。
 モジュール内のコントローラのルートは、モジュール ID で始まり、コントローラ ID、アクション ID と続くものでなければなりません。
@@ -142,7 +142,7 @@ class PostController extends Controller
 これは、`forum` というルートは `forum` モジュール内の `default` コントローラを表すという意味です。
 
 
-### モジュールにアクセスする <a name="accessing-modules"></a>
+### モジュールにアクセスする <span id="accessing-modules"></span>
 
 モジュール内において、モジュール ID や、モジュールのパラメータ、モジュールのコンポーネントなどにアクセスするために、[モジュールクラス](#module-classes) のインスタンスを取得する必要があることがよくあります。
 次の文を使ってそうすることが出来ます。
@@ -181,7 +181,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-### モジュールをブートストラップする <a name="bootstrapping-modules"></a>
+### モジュールをブートストラップする <span id="bootstrapping-modules"></span>
 
 いくつかのモジュールは、全てのリクエストで毎回走らせる必要があります。[[yii\debug\Module|デバッグ]] モジュールがその一例です。
 そうするためには、そのようなモジュールをアプリケーションの [[yii\base\Application::bootstrap|bootstrap]] プロパティのリストに挙げます。
@@ -201,7 +201,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-## 入れ子のモジュール <a name="nested-modules"></a>
+## 入れ子のモジュール <span id="nested-modules"></span>
 
 モジュールはレベルの制限無く入れ子にすることが出来ます。
 つまり、モジュールは別のモジュールを含むことが出来、その含まれたモジュールもさらに別のモジュールを含むことが出来ます。
@@ -236,7 +236,7 @@ class Module extends \yii\base\Module
 このリストには、直接の子と孫以下の両方のモジュールが含まれ、クラス名によってインデックスされています。
 
 
-## ベストプラクティス <a name="best-practices"></a>
+## ベストプラクティス <span id="best-practices"></span>
 
 モジュールは、それぞれ密接に関係する一連の機能を含む数個のグループに分割できるような、規模の大きなアプリケーションに最も適しています。
 そのような機能グループをそれぞれモジュールとして、特定の個人やチームによって開発することが出来ます。
diff --git a/docs/guide-ja/structure-views.md b/docs/guide-ja/structure-views.md
index 0cf1df7..dd4fb21 100644
--- a/docs/guide-ja/structure-views.md
+++ b/docs/guide-ja/structure-views.md
@@ -9,7 +9,7 @@
 なお、簡潔さを重視して、ビューテンプレートまたはビューテンプレートファイルを単にビューと呼ぶことがよくあります。
 
 
-## ビューを作成する <a name="creating-views"></a>
+## ビューを作成する <span id="creating-views"></span>
 
 前述のように、ビューは HTML と PHP コードが混ざった単なる PHP スクリプトです。
 次に示すのは、ログインフォームを表示するビューです。
@@ -46,7 +46,7 @@ $this->title = 'ログイン';
   これは、ビューにドキュメントを付けるのにも良い方法です。
 
 
-### セキュリティ <a name="security"></a>
+### セキュリティ <span id="security"></span>
 
 HTML ページを生成するビューを作成するときは、エンドユーザから受け取るデータを表示する前にエンコード および/または フィルタすることが重要です。
 そうしなければ、あなたのアプリケーションは [クロスサイトスクリプティング](http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%82%B9%E3%82%B5%E3%82%A4%E3%83%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0) 攻撃をこうむるおそれがあります。
@@ -81,7 +81,7 @@ use yii\helpers\HtmlPurifier;
   アプリケーションが高いパフォーマンスを要求する場合は、フィルター結果を [キャッシュ](caching-overview.md) することを考慮すべきです。
 
 
-### ビューを整理する <a name="organizing-views"></a>
+### ビューを整理する <span id="organizing-views"></span>
 
 [コントローラ](structure-controllers.md) や [モデル](structure-models.md) と同じように、ビューを整理するための規約があります。.
 
@@ -98,7 +98,7 @@ use yii\helpers\HtmlPurifier;
 メソッドをオーバーライドすることでカスタマイズすることが可能です。
 
 
-## ビューをレンダリングする <a name="rendering-views"></a>
+## ビューをレンダリングする <span id="rendering-views"></span>
 
 [コントローラ](structure-controllers.md) の中でも、[ウィジェット](structure-widgets.md) の中でも、または、その他のどんな場所でも、
 ビューをレンダリングするメソッドを呼ぶことによってビューをレンダリングすることが出来ます。
@@ -114,7 +114,7 @@ methodName($view, $params = [])
 ```
 
 
-### コントローラでのレンダリング <a name="rendering-in-controllers"></a>
+### コントローラでのレンダリング <span id="rendering-in-controllers"></span>
 
 [コントローラ](structure-controllers.md) の中では、ビューをレンダリングするために次のコントローラメソッドを呼ぶことが出来ます。
 
@@ -153,7 +153,7 @@ class PostController extends Controller
 ```
 
 
-### ウィジェットでのレンダリング <a name="rendering-in-widgets"></a>
+### ウィジェットでのレンダリング <span id="rendering-in-widgets"></span>
 
 [ウィジェット](structure-widgets.md) の中では、ビューをレンダリングするために、次のウィジェットメソッドを使用することが出来ます。
 
@@ -183,7 +183,7 @@ class ListWidget extends Widget
 ```
 
 
-### ビューでのレンダリング <a name="rendering-in-views"></a>
+### ビューでのレンダリング <span id="rendering-in-views"></span>
 
 [[yii\base\View|ビューコンポーネント]] によって提供される下記のメソッドのどれかを使うと、ビューの中で、別のビューをレンダリングすることが出来ます。
 
@@ -200,7 +200,7 @@ class ListWidget extends Widget
 ```
 
 
-### 他の場所でのレンダリング <a name="rendering-in-other-places"></a>
+### 他の場所でのレンダリング <span id="rendering-in-other-places"></span>
 
 場所がどこであれ、`Yii::$app->view` という式によって [[yii\base\View|ビュー]] アプリケーションコンポーネントにアクセスすることが出来ますから、
 前述の [[yii\base\View|ビュー]] コンポーネントメソッドを使ってビューをレンダリングすることが出来ます。
@@ -212,7 +212,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 ```
 
 
-### 名前付きビュー <a name="named-views"></a>
+### 名前付きビュー <span id="named-views"></span>
 
 ビューをレンダリングするとき、ビューを指定するのには、ビューの名前か、ビューファイルのパス/エイリアスか、どちらかを使うことが出来ます。
 たいていの場合は、より簡潔で柔軟な前者を使います。
@@ -240,7 +240,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 一方、そのビューの中で `$this->render('_overview')` を呼ぶと、ビューファイル `@app/views/post/_overview.php` がレンダリングされることになります。
 
 
-### ビューの中でデータにアクセスする <a name="accessing-data-in-views"></a>
+### ビューの中でデータにアクセスする <span id="accessing-data-in-views"></span>
 
 ビューの中でデータにアクセスするためのアプローチが二つあります。「プッシュ」と「プル」です。
 
@@ -272,7 +272,7 @@ The controller ID is: <?= $this->context->id ?>
 ビューが共有されてさまざまな場所でレンダリングされる場合、その作業が面倒くさくなり、また、間違いも生じやすくなります。
 
 
-### ビューの間でデータを共有する <a name="sharing-data-among-views"></a>
+### ビューの間でデータを共有する <span id="sharing-data-among-views"></span>
 
 [[yii\base\View|ビューコンポーネント]] が提供する [[yii\base\View::params|params]] プロパティを使うと、ビューの間でデータを共有することが出来ます。
 
@@ -291,14 +291,14 @@ $this->params['breadcrumbs'][] = 'About Us';
 ```
 
 
-## レイアウト <a name="layouts"></a>
+## レイアウト <span id="layouts"></span>
 
 レイアウトは、複数のビューの共通部分をあらわす特殊なタイプのビューです。
 例えば、たいていのウェブアプリケーションでは、ページは共通のヘッダとフッタを持っています。
 すべてのビューで同じヘッダとフッタを繰り返すことも出来ますが、もっと良い方法は、そういうことはレイアウトの中で一度だけして、コンテンツビューのレンダリング結果をレイアウトの中の適切な場所に埋め込むことです。
 
 
-### レイアウトを作成する <a name="creating-layouts"></a>
+### レイアウトを作成する <span id="creating-layouts"></span>
 
 レイアウトもまたビューですので、通常のビューと同様な方法で作成することが出来ます。
 既定では、レイアウトは `@app/views/layouts` ディレクトリに保存されます。
@@ -356,7 +356,7 @@ use yii\helpers\Html;
   body の終了位置を目的とする登録された HTML コード (JavaScript など) によって置き換えられるプレースホルダを生成します。
 
 
-### レイアウトでデータにアクセスする <a name="accessing-data-in-layouts"></a>
+### レイアウトでデータにアクセスする <span id="accessing-data-in-layouts"></span>
 
 レイアウトの中では、事前定義された二つの変数、すなわち、`$this` と `$content` にアクセス出来ます。
 前者は、通常のビューにおいてと同じく、[[yii\base\View|ビュー]] コンポーネントを参照します。
@@ -367,7 +367,7 @@ use yii\helpers\Html;
 コンテンツビューからレイアウトにデータを渡す必要があるときは、[ビューの間でデータを共有する](#sharing-data-among-views) の項で説明されている方法を使うことが出来ます。
 
 
-### レイアウトを使う <a name="using-layouts"></a>
+### レイアウトを使う <span id="using-layouts"></span>
 
 [コントローラでのレンダリング](#rendering-in-controllers) の項で説明されているように、コントローラの中で
 [[yii\base\Controller::render()|render()]] メソッドを呼んでビューをレンダリングすると、レンダリング結果にレイアウトが適用されます。
@@ -418,7 +418,7 @@ class PostController extends Controller
 レイアウトの値がファイル拡張子を含んでいない場合は、デフォルト値である `.php` を使います。
 
 
-### 入れ子のレイアウト <a name="nested-layouts"></a>
+### 入れ子のレイアウト <span id="nested-layouts"></span>
 
 ときとして、あるレイアウトの中に別のレイアウトを入れたい場合があるでしょう。
 例えば、ウェブサイトの別々のセクションにおいて、違うレイアウトを使いたいけれども、
@@ -443,7 +443,7 @@ class PostController extends Controller
 上記のアプローチを使って、2レベル以上のレイアウトを入れ子にすることも出来ます。
 
 
-### ブロックを使う <a name="using-blocks"></a>
+### ブロックを使う <span id="using-blocks"></span>
 
 ブロックを使うと、ある場所でビューコンテンツを規定して、別の場所でそれを表示することが可能になります。
 ブロックはたいていはレイアウトと一緒に使われます。
@@ -504,7 +504,7 @@ class PostController extends Controller
 ```
 
 
-## ビューコンポーネントを使う <a name="using-view-components"></a>
+## ビューコンポーネントを使う <span id="using-view-components"></span>
 
 [[yii\base\View|ビューコンポーネント]] はビューに関連する多くの機能を提供します。
 ビューコンポーネントは、[[yii\base\View]] またはその子クラスの個別のインスタンスを作成することによっても取得できますが、たいていの場合は、`view` アプリケーションコンポーネントを主として使うことになるでしょう。
@@ -533,7 +533,7 @@ class PostController extends Controller
 次に挙げるマイナーではあっても有用な諸機能は、ウェブページを開発するときに頻繁に使用するでしょう。
 
 
-### ページタイトルを設定する <a name="setting-page-titles"></a>
+### ページタイトルを設定する <span id="setting-page-titles"></span>
 
 どんなウェブページにもタイトルが無ければなりません。通常、タイトルタグは [layout](#layouts) の中で表示されます。
 しかし、実際においては、多くの場合、タイトルはレイアウトではなくコンテンツビューで決められます。
@@ -554,7 +554,7 @@ $this->title = 'My page title';
 ```
 
 
-### メタタグを登録する <a name="registering-meta-tags"></a>
+### メタタグを登録する <span id="registering-meta-tags"></span>
 
 ウェブページは、通常、いろいろな関係者によって必要とされるさまざまなメタタグを生成する必要があります。
 ページタイトルと同じように、メタタグは `<head>` セクションに出現して、通常はレイアウトの中で生成されます。
@@ -585,7 +585,7 @@ $this->registerMetaTag(['name' => 'description', 'content' => '面白いアラ�
 ```
 
 
-### リンクタグを登録する <a name="registering-link-tags"></a>
+### リンクタグを登録する <span id="registering-link-tags"></span>
 
 [メタタグ](#registering-meta-tags) と同じように、リンクタグも多くの場合において有用なものです。
 例えば、favicon をカスタマイズしたり、RSS フィードを指し示したり、OpenID を別のサーバに委任したり、等々。
@@ -611,7 +611,7 @@ $this->registerLinkTag([
 を呼ぶときにキーを指定すると、同じリンクタグを繰り返して生成するのを避けることが出来ます。
 
 
-## ビューのイベント <a name="view-events"></a>
+## ビューのイベント <span id="view-events"></span>
 
 [[yii\base\View|ビューコンポーネント]] はビューをレンダリングする過程においていくつかのイベントをトリガします。
 これらのイベントに反応することによって、ビューにコンテンツを注入したり、エンドユーザに送信される前にレンダリング結果を加工したりすることが出来ます。
@@ -634,7 +634,7 @@ $this->registerLinkTag([
 ```
 
 
-## 静的なページをレンダリングする <a name="rendering-static-pages"></a>
+## 静的なページをレンダリングする <span id="rendering-static-pages"></span>
 
 静的なページというのは、主たるコンテンツのほとんどが静的なもので、コントローラからプッシュされる動的なデータにアクセスする必要がないページを指します。
 
@@ -680,7 +680,7 @@ http://localhost/index.php?r=site/page&view=about
 [[yii\web\ViewAction::viewPrefix]] を構成して、ビューを探すディレクトリを変更することが出来ます。
 
 
-## ベストプラクティス <a name="best-practices"></a>
+## ベストプラクティス <span id="best-practices"></span>
 
 ビューはエンドユーザが望む形式でモデルを表現することに対して責任を持ちます。一般的に、ビューは
 
diff --git a/docs/guide-ja/structure-widgets.md b/docs/guide-ja/structure-widgets.md
index 8dc99ef..a26ca4c 100644
--- a/docs/guide-ja/structure-widgets.md
+++ b/docs/guide-ja/structure-widgets.md
@@ -19,7 +19,7 @@ use yii\jui\DatePicker;
 特定のウィジェットの使い方について学ぶ必要がある場合は、クラス API ドキュメントを参照してください。
 
 
-## ウィジェットを使う <a name="using-widgets"></a>
+## ウィジェットを使う <span id="using-widgets"></span>
 
 ウィジェットは主として [ビュー](structure-views.md) で使われます。
 ビューでウィジェットを使うためには、[[yii\base\Widget::widget()]] メソッドを使うことが出来ます。
@@ -69,7 +69,7 @@ use yii\helpers\Html;
 返されたウィジェットのインスタンスを使って、ウィジェットのコンテンツを構築することが出来ます。
 
 
-## ウィジェットを作成する <a name="creating-widgets"></a>
+## ウィジェットを作成する <span id="creating-widgets"></span>
 
 ウィジェットを作成するためには、[[yii\base\Widget]] を拡張して、[[yii\base\Widget::init()]] および/または [[yii\base\Widget::run()]] メソッドをオーバーライドします。
 通常、`init()` メソッドはウィジェットのプロパティを正規化するコードを含むべきものであり、`run()` メソッドはウィジェットのレンダリング結果を生成するコードを含むべきものです。
@@ -172,7 +172,7 @@ public function run()
 [[yii\base\Widget::getViewPath()]] メソッドをオーバーライドして、ウィジェットのビューファイルを含むディレクトリをカスタマイズすることが出来ます。
 
 
-## ベストプラクティス <a name="best-practices"></a>
+## ベストプラクティス <span id="best-practices"></span>
 
 ウィジェットはビューのコードを再利用するためのオブジェクト指向の方法です。
 
diff --git a/docs/guide-ja/tutorial-console.md b/docs/guide-ja/tutorial-console.md
index 925e0d1..e12b5cd 100644
--- a/docs/guide-ja/tutorial-console.md
+++ b/docs/guide-ja/tutorial-console.md
@@ -10,7 +10,7 @@ Yii はフル機能のコンソールアプリケーションをサポートし�
 また、各コントローラは、ウェブのコントローラと全く同じように、一つまたは複数のアクションを持つことが出来ます。
 
 
-使用方法 <a name="usage"></a>
+使用方法 <span id="usage"></span>
 --------
 
 コンソールのコントローラアクションは次の構文を使って実行します。
@@ -32,7 +32,7 @@ yii migrate/create --migrationTable=my_migration
 > これは、`*` をカレントディレクトリの全てのファイル名に置き換えられるシェルのグロブとして実行してしまうことを避けるためです。
 
 
-エントリスクリプト <a name="entry-script"></a>
+エントリスクリプト <span id="entry-script"></span>
 ------------------
 
 コンソールアプリケーションのエントリスクリプトは、ウェブアプリケーションで使用されるブートストラップファイル `index.php` に相当するものです。
@@ -68,7 +68,7 @@ exit($exitCode);
 ベーシックアプリケーションテンプレートでも、アドバンストアプリケーションテンプレートでも、コンソールアプリケーションのエントリスクリプトは、開発者に優しい環境を提供するために、デフォルトでデバッグを有効にしています。
 
 
-構成情報 <a name="configuration"></a>
+構成情報 <span id="configuration"></span>
 --------
 
 上記のコードで見るように、コンソールアプリケーションは、`console.php` という名前のそれ自身の構成情報ファイルを使用します。
@@ -86,7 +86,7 @@ exit($exitCode);
 > ```
 
 
-あなた自身のコンソールコマンドを作成する <a name="create-command"></a>
+あなた自身のコンソールコマンドを作成する <span id="create-command"></span>
 ----------------------------------------
 
 ### コンソールのコントローラとアクション
diff --git a/docs/guide-ja/tutorial-core-validators.md b/docs/guide-ja/tutorial-core-validators.md
index 244ea50..e09ce09 100644
--- a/docs/guide-ja/tutorial-core-validators.md
+++ b/docs/guide-ja/tutorial-core-validators.md
@@ -20,7 +20,7 @@ public function rules()
 以下では、全てのコアバリデータについて、主な使用方法とプロパティを説明します。
 
 
-## [[yii\validators\BooleanValidator|boolean]] <a name="boolean"></a>
+## [[yii\validators\BooleanValidator|boolean]] <span id="boolean"></span>
 
 ```php
 [
@@ -42,7 +42,7 @@ public function rules()
 > Note|注意: HTML フォームで送信されたデータ入力値は全て文字列であるため、通常は、[[yii\validators\BooleanValidator::strict|strict]] プロパティは false のままにすべきです。
 
 
-## [[yii\captcha\CaptchaValidator|captcha]] <a name="captcha"></a>
+## [[yii\captcha\CaptchaValidator|captcha]] <span id="captcha"></span>
 
 ```php
 [
@@ -57,7 +57,7 @@ public function rules()
 - `skipOnEmpty`: 入力値が空のときに検証をスキップできるかどうか。デフォルト値は false で、入力が必須であることを意味します。
   
 
-## [[yii\validators\CompareValidator|compare]] <a name="compare"></a>
+## [[yii\validators\CompareValidator|compare]] <span id="compare"></span>
 
 ```php
 [
@@ -88,7 +88,7 @@ public function rules()
      * `<=`: 検証される値が比較される値よりも小さいか等しいことを検証する。
 
 
-## [[yii\validators\DateValidator|date]] <a name="date"></a>
+## [[yii\validators\DateValidator|date]] <span id="date"></span>
 
 ```php
 [
@@ -113,7 +113,7 @@ public function rules()
 [['from_date', 'to_date'], 'default', 'value' => null],
 ```
 
-## [[yii\validators\DefaultValueValidator|default]] <a name="default"></a>
+## [[yii\validators\DefaultValueValidator|default]] <span id="default"></span>
 
 ```php
 [
@@ -147,7 +147,7 @@ function foo($model, $attribute) {
 > Info|情報: 値が空であるか否かを決定する方法については、独立したトピックとして、[空の入力値を扱う](input-validation.md#handling-empty-inputs) の節でカバーされています。
 
 
-## [[yii\validators\NumberValidator|double]] <a name="double"></a>
+## [[yii\validators\NumberValidator|double]] <span id="double"></span>
 
 ```php
 [
@@ -165,7 +165,7 @@ function foo($model, $attribute) {
   設定されていない場合は、バリデータが下限値をチェックしないことを意味します。
 
 
-## [[yii\validators\EmailValidator|email]] <a name="email"></a>
+## [[yii\validators\EmailValidator|email]] <span id="email"></span>
 
 ```php
 [
@@ -185,7 +185,7 @@ function foo($model, $attribute) {
   IDN のバリデーションを使用するためには、`intl` PHP 拡張をインストールして有効化する必要があることに注意してください。そうしないと、例外が投げられます。
 
 
-## [[yii\validators\ExistValidator|exist]] <a name="exist"></a>
+## [[yii\validators\ExistValidator|exist]] <span id="exist"></span>
 
 ```php
 [
@@ -235,7 +235,7 @@ function foo($model, $attribute) {
   `targetAttribute` を配列で指定して複数のカラムに対して検証しようとしている場合は、このプロパティを true に設定することが出来ないことに注意してください。
 
 
-## [[yii\validators\FileValidator|file]] <a name="file"></a>
+## [[yii\validators\FileValidator|file]] <span id="file"></span>
 
 ```php
 [
@@ -270,7 +270,7 @@ function foo($model, $attribute) {
 ファイルのアップロードおよびアップロードされたファイルのバリデーションの実行に関する完全な説明は、[ファイルをアップロードする](input-file-upload.md) の節を参照してください。
 
 
-## [[yii\validators\FilterValidator|filter]] <a name="filter"></a>
+## [[yii\validators\FilterValidator|filter]] <span id="filter"></span>
 
 ```php
 [
@@ -308,7 +308,7 @@ function foo($model, $attribute) {
 > ```
 
 
-## [[yii\validators\ImageValidator|image]] <a name="image"></a>
+## [[yii\validators\ImageValidator|image]] <span id="image"></span>
 
 ```php
 [
@@ -330,7 +330,7 @@ function foo($model, $attribute) {
 - `maxHeight`: 画像の高さの最大値。デフォルト値は null であり、上限値がないことを意味します。
 
 
-## [[yii\validators\RangeValidator|in]] <a name="in"></a>
+## [[yii\validators\RangeValidator|in]] <span id="in"></span>
 
 ```php
 [
@@ -350,7 +350,7 @@ function foo($model, $attribute) {
   このプロパティが true であるときに、入力値が配列である場合は、配列の全ての要素が所与の値のリストにある必要があり、そうでなければ検証は失敗します。
 
 
-## [[yii\validators\NumberValidator|integer]] <a name="integer"></a>
+## [[yii\validators\NumberValidator|integer]] <span id="integer"></span>
 
 ```php
 [
@@ -365,7 +365,7 @@ function foo($model, $attribute) {
 - `min`: 下限値 (その値を含む)。設定されていないときは、バリデータは下限をチェックしません。
 
 
-## [[yii\validators\RegularExpressionValidator|match]] <a name="match"></a>
+## [[yii\validators\RegularExpressionValidator|match]] <span id="match"></span>
 
 ```php
 [
@@ -382,7 +382,7 @@ function foo($model, $attribute) {
   このプロパティが true に設定されているときは、入力値がパターンに一致しない場合にだけ検証が成功したと見なされます。
 
 
-## [[yii\validators\NumberValidator|number]] <a name="number"></a>
+## [[yii\validators\NumberValidator|number]] <span id="number"></span>
 
 ```php
 [
@@ -397,7 +397,7 @@ function foo($model, $attribute) {
 - `min`: 下限値 (その値を含む)。設定されていないときは、バリデータは下限をチェックしません。
 
 
-## [[yii\validators\RequiredValidator|required]] <a name="required"></a>
+## [[yii\validators\RequiredValidator|required]] <span id="required"></span>
 
 ```php
 [
@@ -418,7 +418,7 @@ function foo($model, $attribute) {
 > Info|情報: 値が空であるか否かを決定する方法については、独立したトピックとして、[空の入力値を扱う](input-validation.md#handling-empty-inputs) の節でカバーされています。
 
 
-## [[yii\validators\SafeValidator|safe]] <a name="safe"></a>
+## [[yii\validators\SafeValidator|safe]] <span id="safe"></span>
 
 ```php
 [
@@ -431,7 +431,7 @@ function foo($model, $attribute) {
 その代りに、このバリデータは、属性を [安全な属性](structure-models.md#safe-attributes) としてマークするために使われます。
 
 
-## [[yii\validators\StringValidator|string]] <a name="string"></a>
+## [[yii\validators\StringValidator|string]] <span id="string"></span>
 
 ```php
 [
@@ -452,7 +452,7 @@ function foo($model, $attribute) {
 - `encoding`: 検証される入力文字列の文字エンコーディング。設定されていない時は、アプリケーションの [[yii\base\Application::charset|charset]] の値が使われ、デフォルトでは `UTF-8` となります。
 
 
-## [[yii\validators\FilterValidator|trim]] <a name="trim"></a>
+## [[yii\validators\FilterValidator|trim]] <span id="trim"></span>
 
 ```php
 [
@@ -466,7 +466,7 @@ function foo($model, $attribute) {
 入力値が配列であるときは、このバリデータによって無視されることに注意してください。
 
 
-## [[yii\validators\UniqueValidator|unique]] <a name="unique"></a>
+## [[yii\validators\UniqueValidator|unique]] <span id="unique"></span>
 
 ```php
 [
@@ -508,7 +508,7 @@ function foo($model, $attribute) {
   `$query` は関数の中で修正できる [[yii\db\Query|Query]] オブジェクトです。
 
 
-## [[yii\validators\UrlValidator|url]] <a name="url"></a>
+## [[yii\validators\UrlValidator|url]] <span id="url"></span>
 
 ```php
 [
diff --git a/docs/guide-ja/tutorial-i18n.md b/docs/guide-ja/tutorial-i18n.md
index 0d02a14..c17685b 100644
--- a/docs/guide-ja/tutorial-i18n.md
+++ b/docs/guide-ja/tutorial-i18n.md
@@ -544,7 +544,7 @@ class TranslationEventHandler
 詳細は [データフォーマッタ](output-formatter.md) の節を参照してください。
 
 
-PHP 環境をセットアップする <a name="setup-environment"></a>
+PHP 環境をセットアップする <span id="setup-environment"></span>
 --------------------------
 
 Yii は、[[yii\i18n\Formatter]] クラスの数値や日付の書式設定や、[[yii\i18n\MessageFormatter]] を使うメッセージのフォーマッティングなど、ほとんどの国際化機能を提供するために [PHP intl 拡張](http://php.net/manual/ja/book.intl.php) を使います。
diff --git a/docs/guide-ja/tutorial-shared-hosting.md b/docs/guide-ja/tutorial-shared-hosting.md
index 4f53ee0..82b37b8 100644
--- a/docs/guide-ja/tutorial-shared-hosting.md
+++ b/docs/guide-ja/tutorial-shared-hosting.md
@@ -10,7 +10,7 @@
 通例、一つのウェブルートしかありませんので、ベーシックアプリケーションテンプレートを使用することを推奨します。
 [Yii をインストールする](start-installation.md) の節を参照して、アプリケーションテンプレートをローカル環境にインストールしてください。
 
-### ウェブサーバのための追加設定 <a name="add-extras-for-webserver"></a>
+### ウェブサーバのための追加設定 <span id="add-extras-for-webserver"></span>
 
 使用されているウェブサーバが Apache である場合は、次の内容を持つ `.htaccess` ファイルを `web` (`index.php` があるディレクトリ) に追加する必要があります。
 
@@ -30,7 +30,7 @@ RewriteRule . index.php
 
 nginx の場合は、追加の構成ファイルは必要がない筈です。
 
-### ウェブルートの名前を変える <a name="renaming-webroot"></a>
+### ウェブルートの名前を変える <span id="renaming-webroot"></span>
 
 FTP またはその他の手段であなたの共有ホストに接続したとき、下記のようなディレクトリが見えれば、あなたはきっとラッキーです。
  
diff --git a/docs/guide-ja/tutorial-yii-integration.md b/docs/guide-ja/tutorial-yii-integration.md
index 8c012f1..b880260 100644
--- a/docs/guide-ja/tutorial-yii-integration.md
+++ b/docs/guide-ja/tutorial-yii-integration.md
@@ -6,12 +6,12 @@
 この節では、こういう目的をどうやって達成するかを説明します。
 
 
-Yii の中でサードパーティのライブラリを使う <a name="using-libs-in-yii"></a>
+Yii の中でサードパーティのライブラリを使う <span id="using-libs-in-yii"></span>
 ------------------------------------------
 
 Yii アプリケーションの中でサードパーティのライブラリを使うために主として必要なことは、そのライブラリの中のクラスが適切にインクルードされること、または、オートロード可能な状態にあることを保証することです。
 
-### Composer パッケージを使う <a name="using-composer-packages"></a>
+### Composer パッケージを使う <span id="using-composer-packages"></span>
 
 多くのサードパーティライブラリは [Composer](https://getcomposer.org/) パッケージの形式でリリースされています。
 そのようなライブラリは、次の二つの簡単なステップを踏むことによって、インストールすることが出来ます。
@@ -30,7 +30,7 @@ require(__DIR__ . '/../vendor/autoload.php');
 require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
 ```
 
-### ダウンロードしたライブラリを使う <a name="using-downloaded-libs"></a>
+### ダウンロードしたライブラリを使う <span id="using-downloaded-libs"></span>
 
 ライブラリが Composer パッケージとしてリリースされていない場合は、そのライブラリのインストールの指示に従ってインストールしなければなりません。
 たいていの場合は、リリースファイルを手動でダウンロードし、`BasePath/vendor` ディレクトリの下に解凍する必要があります。
@@ -67,7 +67,7 @@ Yii::$classMap['Class2'] = 'path/to/Class2.php';
 ```
 
 
-サードパーティのシステムで Yii を使う <a name="using-yii-in-others"></a>
+サードパーティのシステムで Yii を使う <span id="using-yii-in-others"></span>
 -------------------------------------
 
 Yii は数多くの優れた機能を提供していますので、サードパーティのシステム (例えば、WordPress、Joomla、または、他の PHP フレームワークを使って開発されるアプリケーション) を開発したり機能拡張したりするのをサポートするために Yii の機能のいくつかを使用したいことがあるでしょう。
@@ -109,7 +109,7 @@ Yii アプリケーションでの場合と同じように、サードパーテ�
 例えば、アクティブレコードクラスを作成して、それを使ってデータベースを扱うことが出来ます。
 
 
-Yii 2 を Yii 1 とともに使う <a name="using-both-yii2-yii1"></a>
+Yii 2 を Yii 1 とともに使う <span id="using-both-yii2-yii1"></span>
 ---------------------------
 
 あなたが Yii 1 を前から使っている場合は、たぶん、稼働中の Yii 1 アプリケーションを持っているでしょう。
diff --git a/docs/guide-pt-BR/start-databases.md b/docs/guide-pt-BR/start-databases.md
index ac97401..a435948 100644
--- a/docs/guide-pt-BR/start-databases.md
+++ b/docs/guide-pt-BR/start-databases.md
@@ -20,7 +20,7 @@ banco de dados, e como executar instruções SQL usando uma ferramenta de client
 de BD.
 
 
-Preparando o Banco de Dados <a name="preparing-database"></a>
+Preparando o Banco de Dados <span id="preparing-database"></span>
 ---------------------------
 
 Para começar, crie um banco de dados chamado `yii2basic`, a partir do qual você
@@ -54,7 +54,7 @@ INSERT INTO `country` VALUES ('US','United States',278357000);
 Neste ponto, você tem um banco de dados chamado `yii2basic`, e dentro dele uma
 tabela `country` com três colunas, contendo dez linhas de dados.
 
-Configurando uma Conexão do BD <a name="configuring-db-connection"></a>
+Configurando uma Conexão do BD <span id="configuring-db-connection"></span>
 ------------------------------
 
 Antes de prosseguir, certifique-se de que você possui instalados tanto a
@@ -91,7 +91,7 @@ através da expressão `Yii::$app->db`.
   deverá ser inicializada. Para mais informações, por favor consulte a seção sobre [Configurações](concept-configurations.md).
 
 
-Criando um Active Record <a name="creating-active-record"></a>
+Criando um Active Record <span id="creating-active-record"></span>
 ------------------------
 
 Para representar e buscar os dados da tabela `country`, crie uma classe que
@@ -145,7 +145,7 @@ $country->save();
   dados de baixo nível chamado [Data Access Objects](db-dao.md).
 
 
-Criando uma Action <a name="creating-action"></a>
+Criando uma Action <span id="creating-action"></span>
 ------------------
 
 Para expor os dados de países aos usuários finais, você precisaria de uma nova
@@ -205,7 +205,7 @@ No final do código, a action `index` renderiza uma view chamada `index`, e pass
 para ela os dados dos países bem como as informações de paginação.
 
 
-Criando uma View <a name="creating-view"></a>
+Criando uma View <span id="creating-view"></span>
 ----------------
 
 Dentro do diretório `views`, primeiro crie um sub-diretório chamado `country`.
@@ -239,7 +239,7 @@ lista de botões para as páginas. Ao clicar em qualquer um deles atualizará
 os dados dos países com a página correspondente.
 
 
-Testando <a name="trying-it-out"></a>
+Testando <span id="trying-it-out"></span>
 --------
 
 Para verificar se todo os códigos acima funcionam, use o seu navegador para
@@ -278,7 +278,7 @@ a funcionalidade necessária para paginar um conjunto de dados:
   próximos cinco países para a exibição.
 
 
-Resumo <a name="summary"></a>
+Resumo <span id="summary"></span>
 ------
 
 Nesta seção, você aprendeu como trabalhar com um banco de dados. Você também
diff --git a/docs/guide-pt-BR/start-forms.md b/docs/guide-pt-BR/start-forms.md
index edb8dc6..e624eee 100644
--- a/docs/guide-pt-BR/start-forms.md
+++ b/docs/guide-pt-BR/start-forms.md
@@ -16,7 +16,7 @@ Através deste tutorial, você aprenderá como:
 * Criar um formulário HTML em uma [visão](structure-views.md) (view)
 
 
-Criando uma Modelo (Model) <a name="creating-model"></a>
+Criando uma Modelo (Model) <span id="creating-model"></span>
 ----------------
 
 Os dados a serem solicitados pelo usuário será representados por uma classe modelo
@@ -82,7 +82,7 @@ if ($model->validate()) {
 ```
 
 
-Criando uma Ação <a name="creating-action"></a>
+Criando uma Ação <span id="creating-action"></span>
 ------------------
 
 Em seguida, você precisará criar uma ação `entry` no controlador `site` que será usado no novo modelo. O processo de criação e utilização das ações são explicadas na seção 
@@ -144,7 +144,7 @@ validação.
   para evitar [problemas ao reenviar formulários](http://en.wikipedia.org/wiki/Post/Redirect/Get).
 
 
-Criando Visões <a name="creating-views"></a>
+Criando Visões <span id="creating-views"></span>
 --------------
 
 Finalmente, crie dois arquivos de visões chamados de `entry-confirm` e `entry`. 
@@ -195,7 +195,7 @@ o método [[yii\helpers\Html::submitButton()]] é chamado para criar o botão
 de enviar.
 
 
-Testando <a name="trying-it-out"></a>
+Testando <span id="trying-it-out"></span>
 -------------
 
 Para ver como ele funciona, utilize seu navegador para acessar a seguinte URL:
@@ -218,7 +218,7 @@ nova página exibindo os dados informados por você.
 
 
 
-### Explicação da Mágica <a name="magic-explained"></a>
+### Explicação da Mágica <span id="magic-explained"></span>
 
 Você pode querer saber como o formulário HTML trabalha por baixo dos panos, porque 
 parece quase mágica exibir um *label* para cada campo de entrada e mostrar mensagens
@@ -255,7 +255,7 @@ Você pode personalizar um *label* em uma visão utilizando o seguinte código:
   widget para simplificar o desenvolvimento de visões no futuro.
 
  
-Resumo <a name="summary"></a>
+Resumo <span id="summary"></span>
 -------
 
 Nesta seção, você tocou em cada parte do padrão de arquitetura MVC. 
diff --git a/docs/guide-pt-BR/start-gii.md b/docs/guide-pt-BR/start-gii.md
index 60144bd..524d105 100644
--- a/docs/guide-pt-BR/start-gii.md
+++ b/docs/guide-pt-BR/start-gii.md
@@ -11,7 +11,7 @@ Através desse tutorial, você irá aprender a:
 * Customizar o código gerado pelo Gii
 
 
-Começando a usar o Gii <a name="starting-gii"></a>
+Começando a usar o Gii <span id="starting-gii"></span>
 ------------
 
 O [Gii](tool-gii.md) é fornecido com o Yii como um [módulo](structure-modules.md). Você pode habilitar o Gii ao configurá-lo na propriedade [[yii\base\Application::modules|modules]] da aplicação. Dependendo de como você criou sua aplicação, você pode já encontrar o seguinte código no arquivo de configuração `config/web.php`:
@@ -52,7 +52,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-Gerando uma classe Active Record <a name="generating-ar"></a>
+Gerando uma classe Active Record <span id="generating-ar"></span>
 ---------------------------------
 
 Para usar o Gii para gerar uma classe Active Record, selecione o "Model Generator" clicando no link na página inicial do Gii. Preencha o formulário como indicado abaixo:
@@ -73,7 +73,7 @@ Quando estiver sobrescrevendo um arquivo, marque a caixa próxima a "overwrite" 
 Em seguida, você verá uma página de confirmação indicando que o código foi gerado com sucesso. Se você já tinha um arquivo, também verá uma mensagem indicando que ele foi sobrescrito com o novo código.
 
 
-Gerando código CRUD <a name="generating-crud"></a>
+Gerando código CRUD <span id="generating-crud"></span>
 --------------------
 
 CRUD corresponde a Create, Read, Update, and Delete (criar, ler, atualizar e apagar), representando as quatro tarefas comuns feitas com os dados na maioria dos sites. Para criar funcionalidades CRUD usando o Gii, selecione "CRUD Generator" clicando no link na página inicial do Gii. Seguindo o exemplo "country", preencha o formulário com as seguintes informações:
@@ -92,7 +92,7 @@ Se você criou anteriormente os arquivos `controllers/CountryController.php` e
 `views/country/index.php` (na seção de banco de dados deste guia), marque a caixa "overwrite" para substitui-los. (As versões anteriores não tinham suporte completo às operações CRUD.)
 
 
-Checando os resultados <a name="trying-it-out"></a>
+Checando os resultados <span id="trying-it-out"></span>
 -------------
 
 Para ver como ficou, use seu navegador para acessar a seguinte URL:
@@ -119,7 +119,7 @@ Essa é uma lista de arquivos gerados pelo Gii, caso você queira investigar com
 > Informação: o Gii é projetado para ser uma ferramenta altamente adaptável e extensível. Usando-o sabiamente, você irá acelerar o desenvolvimento da sua aplicação. Para mais detalhes, por favor siga para a seção [Gii](tool-gii.md).
 
 
-Resumo <a name="summary"></a>
+Resumo <span id="summary"></span>
 -------
 
 Nessa seção, você aprendeu a usar o Gii para gerar código que implementa funcionalidades CRUD para o conteúdo guardado em uma tabela do banco de dados.
diff --git a/docs/guide-pt-BR/start-hello.md b/docs/guide-pt-BR/start-hello.md
index 9a423fa..f09805a 100644
--- a/docs/guide-pt-BR/start-hello.md
+++ b/docs/guide-pt-BR/start-hello.md
@@ -16,7 +16,7 @@ Através deste tutorial, você aprenderá três coisas:
 3. como uma aplicação envia as requisições para as [ações](structure-controllers.md#creating-actions).
 
 
-Criando uma Ação <a name="creating-action"></a>
+Criando uma Ação <span id="creating-action"></span>
 ----------------
 
 Para a tarefa "Hello", você criará uma [ação](structure-controllers.md#creating-actions)
@@ -81,7 +81,7 @@ será recebido pela aplicação, e exibido para o usuário final no navegador (c
 parte de uma págian HTML completa).
 
 
-Criando uma Visão <a name="creating-view"></a>
+Criando uma Visão <span id="creating-view"></span>
 -----------------
 
 As [visões](structure-views.md) são scripts que você escreve para gerar o conteúdo
@@ -111,7 +111,7 @@ O conteúdo impresso pelo script da visão será retornado à aplicação como o
 da resposta. A aplicação, por sua vez, retornará este resultado para o usuário final.
 
 
-Testando <a name="trying-it-out"></a>
+Testando <span id="trying-it-out"></span>
 --------
 
 Após criar a ação e a visão, você pode acessar a nova página através da seguinte URL:
@@ -153,7 +153,7 @@ resultado, o método `SiteController::actionSay()` será chamado para tratar a r
   de controlador `PostCommentController`.
 
 
-Resumo <a name="summary"></a>
+Resumo <span id="summary"></span>
 ------
 
 Nesta seção, você tocou as partes do controlador (controller) e da visão (view)
diff --git a/docs/guide-pt-BR/start-installation.md b/docs/guide-pt-BR/start-installation.md
index bc0b1e2..f321a40 100644
--- a/docs/guide-pt-BR/start-installation.md
+++ b/docs/guide-pt-BR/start-installation.md
@@ -25,7 +25,7 @@ novo no Yii, recomendamos fortemente em escolher o Template Básico de Aplicaç�
 pela sua simplicidade além de ter funcionalidades o suficiente.
 
 
-Instalando via Composer <a name="installing-via-composer"></a>
+Instalando via Composer <span id="installing-via-composer"></span>
 -----------------------
 
 Se você já não tiver o Composer instalado, você pode fazê-lo seguindo as instruções
@@ -68,7 +68,7 @@ em um diretório chamado `basic`. Você pode escolher um diretório diferente se
 > uma vez que ela pode quebrar o seu código que está rodando.
 
 
-Instalando a partir de um Arquivo Compactado <a name="installing-from-archive-file"></a>
+Instalando a partir de um Arquivo Compactado <span id="installing-from-archive-file"></span>
 --------------------------------------------
 
 A instalação do Yii a partir de um arquivo compactado envolve três passos:
@@ -85,7 +85,7 @@ o Yii pelo Composer):
    ```
 
 
-Outras Opções de Instalação <a name="other-installation-options"></a>
+Outras Opções de Instalação <span id="other-installation-options"></span>
 ---------------------------
 
 As instruções de instalação acima mostram como instalar o Yii, que também cria
@@ -104,7 +104,7 @@ No entanto, existem outras opções de instalação disponíveis:
   [Modelo de Aplicação Avançada](tutorial-advanced-app.md).
 
 
-Verificando a Instalação <a name="verifying-installation"></a>
+Verificando a Instalação <span id="verifying-installation"></span>
 ------------------------
 
 Após a instalação, você pode usar o seu navegador para acessar a aplicação do Yii
@@ -140,7 +140,7 @@ e o driver do banco de dados correspondente (tal como `pdo_mysql` para bancos de
 dados MySQL), se a sua aplicação precisar de um banco de dados.
 
 
-Configurando os Servidores Web <a name="configuring-web-servers"></a>
+Configurando os Servidores Web <span id="configuring-web-servers"></span>
 ------------------------------
 
 > Informação: Você pode pular essa subseção se só estiver fazendo um test drive do Yii
@@ -174,7 +174,7 @@ objetivos.
   para mais detalhes.
 
 
-### Configuração do Apache Recomendada <a name="recommended-apache-configuration"></a>
+### Configuração do Apache Recomendada <span id="recommended-apache-configuration"></span>
 
 Use a seguinte configuração no arquivo `httpd.conf` do Apache ou em uma
 configuração de virtual host. Perceba que você pode deve substituir `path/to/basic/web`
@@ -198,7 +198,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### Configuração do Nginx Recomendada <a name="recommended-nginx-configuration"></a>
+### Configuração do Nginx Recomendada <span id="recommended-nginx-configuration"></span>
 
 Você deve ter instalado o PHP como um [FPM SAPI](http://php.net/install.fpm) para
 usar o [Nginx](http://wiki.nginx.org/). Use a seguinte configuração do Nginx,
diff --git a/docs/guide-pt-BR/start-workflow.md b/docs/guide-pt-BR/start-workflow.md
index e055098..aa4abbb 100644
--- a/docs/guide-pt-BR/start-workflow.md
+++ b/docs/guide-pt-BR/start-workflow.md
@@ -14,7 +14,7 @@ em geral.
   necessidades.
 
 
-Funcionalidade <a name="functionality"></a>
+Funcionalidade <span id="functionality"></span>
 --------------
 
 A aplicação básica instalada contém quatro páginas:
@@ -36,7 +36,7 @@ registrar e exibir várias informações de depuração, tais como mensagens de 
 status de respostas, as consultas de banco de dados executadas, e assim por diante.
 
 
-Estrutura da Aplicação <a name="application-structure"></a>
+Estrutura da Aplicação <span id="application-structure"></span>
 ----------------------
 
 Os diretórios e arquivos mais importantes em sua aplicação são (assumindo que
@@ -84,7 +84,7 @@ do MVC. São usados [Widgets](structure-widgets.md) nas [views](structure-views.
 para ajudar a construir elementos de interface de usuário complexos e dinâmicos.
 
 
-Ciclo de Vida da Requisição <a name="request-lifecycle"></a>
+Ciclo de Vida da Requisição <span id="request-lifecycle"></span>
 ---------------------------
 
 O diagrama a seguir demonstra como uma aplicação gerencia uma requisição.
diff --git a/docs/guide-pt-BR/structure-application-components.md b/docs/guide-pt-BR/structure-application-components.md
index effebdf..6aa267a 100644
--- a/docs/guide-pt-BR/structure-application-components.md
+++ b/docs/guide-pt-BR/structure-application-components.md
@@ -58,7 +58,7 @@ Por exemplo,
   simplesmente criar um componente local e utilizá-lo quando necessário.
 
 
-## Components de Inicialização <a name="bootstrapping-components"></a>
+## Components de Inicialização <span id="bootstrapping-components"></span>
 
 Conforme mencionado acima, um componente de aplicação só será instanciado quando
 ele estiver sendo acessado pela primeira vez. Se ele nunca for acessado durante
@@ -84,7 +84,7 @@ Por exemplo, a configuração de aplicação a seguir assegura-se que o componen
 ```
 
 
-## Componentes de Aplicação do Core <a name="core-application-components"></a>
+## Componentes de Aplicação do Core <span id="core-application-components"></span>
 
 O yii define um conjunto de componentes de aplicação do **core** com IDs fixos
 e configurações padrão. Por exemplo, o componente [[yii\web\Application::request|request]]
diff --git a/docs/guide-pt-BR/structure-applications.md b/docs/guide-pt-BR/structure-applications.md
index 37ae702..550d9f4 100644
--- a/docs/guide-pt-BR/structure-applications.md
+++ b/docs/guide-pt-BR/structure-applications.md
@@ -15,7 +15,7 @@ o primeiro manipula requisições Web enquanto o segundo trata requisições de
 comandos do console.
 
 
-## Configurações da Aplicação <a name="application-configurations"></a>
+## Configurações da Aplicação <span id="application-configurations"></span>
 
 Quando um [script de entrada](structure-entry-scripts.md) cria uma aplicação, ele
 carregará uma [configuração](concept-configurations.md) e a aplicará à aplicação,
@@ -39,7 +39,7 @@ Uma vez que geralmente são muito complexas, elas normalmente são mantidas em
 como o arquivo `web.php` no exemplo acima.
 
 
-## Propriedades da Aplicação <a name="application-properties"></a>
+## Propriedades da Aplicação <span id="application-properties"></span>
 
 Existem muitas propriedades importantes da aplicação que deveriam ser configuradas.
 Essas propriedades tipicamente descrevem o ambiente em que as aplicaçõe estão
@@ -48,13 +48,13 @@ rodando. Por exemplo, as aplicações precisam saber como carregar os
 etc. A seguir resumiremos essas propriedades.
 
 
-### Propriedades Obrigatórias <a name="required-properties"></a>
+### Propriedades Obrigatórias <span id="required-properties"></span>
 
 Em qualquer aplicação, você deve pelo menos configurar duas propriedades:
 [[yii\base\Application::id|id]] e [[yii\base\Application::basePath|basePath]].
 
 
-#### [[yii\base\Application::id|id]] <a name="id"></a>
+#### [[yii\base\Application::id|id]] <span id="id"></span>
 
 A propriedade [[yii\base\Application::id|id]] especifica um ID único que diferencia
 uma aplicação das outras. É usado principalmente programaticamente. Apesar de não
@@ -62,7 +62,7 @@ ser obrigatório, para melhor interoperabilidade recomenda-se que você só use
 caracteres alfanuméricos ao especificar um ID de aplicação.
 
 
-#### [[yii\base\Application::basePath|basePath]] <a name="basePath"></a>
+#### [[yii\base\Application::basePath|basePath]] <span id="basePath"></span>
 
 A propriedade [[yii\base\Application::basePath|basePath]] especifica o diretório
 raiz de um sistema. É o diretório que contém todo o código fonte protegido de um
@@ -82,13 +82,13 @@ representar esse caminho. Assim os caminhos derivados podem ser formados usando
 esse alias (por exemplo, `@app/runtime` para referenciar o diretório runtime).
 
 
-### Propriedades Importantes <a name="important-properties"></a>
+### Propriedades Importantes <span id="important-properties"></span>
 
 As propriedades descritas nesta subseção frequentemente precisam ser
 configuradas porque elas variam em diferentes aplicações.
 
 
-#### [[yii\base\Application::aliases|aliases]] <a name="aliases"></a>
+#### [[yii\base\Application::aliases|aliases]] <span id="aliases"></span>
 
 Esta propriedade permite que você defina um conjunto de
 [aliases](concept-aliases.md) em termos de um array. As chaves do array representam
@@ -107,7 +107,7 @@ Essa propriedade está disponível de modo que você possa definir aliases em te
 de configurações da aplicação ao invés de chamadas ao método [[Yii::setAlias()]].
 
 
-#### [[yii\base\Application::bootstrap|bootstrap]] <a name="bootstrap"></a>
+#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
 
 Esta é uma propriedade muito útil. Ela permite que você especifique um array de
 componentes que devem ser executados durante o [[yii\base\Application::bootstrap()|processo de inicialização]]
@@ -186,7 +186,7 @@ if (YII_ENV_DEV) {
   ser carregado. Desta forma, use os componentes de inicialização com juízo.
 
 
-#### [[yii\web\Application::catchAll|catchAll]] <a name="catchAll"></a>
+#### [[yii\web\Application::catchAll|catchAll]] <span id="catchAll"></span>
 
 Essa propriedade só é suportada por [[yii\web\Application|aplicações Web]]. Ela
 especifica uma [action de um controller](structure-controllers.md) que deve
@@ -209,7 +209,7 @@ que devem ser atrelados à action. Por exemplo,
 ```
 
 
-#### [[yii\base\Application::components|components]] <a name="components"></a>
+#### [[yii\base\Application::components|components]] <span id="components"></span>
 
 Essa é a propriedade mais importante. Ela permite que você registre uma lista
 de componentes chamados [componentes de aplicação](structure-application-components.md)
@@ -240,7 +240,7 @@ Por favor leia a seção [Componentes de Aplicação](structure-application-comp
 para mais detalhes.
 
 
-#### [[yii\base\Application::controllerMap|controllerMap]] <a name="controllerMap"></a>
+#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
 
 Essa propriedade permite que você mapeie um ID de um controller a uma classe
 de controller arbitrária. Por padrão, o Yii mapeia os IDs de controllers a classes
@@ -269,7 +269,7 @@ os valores do array representam o nome ou as [configurações](concept-configura
 da classe do controller.
 
 
-#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <a name="controllerNamespace"></a>
+#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <span id="controllerNamespace"></span>
 
 Essa propriedade especifica o namespace padrão sob o qual as classes dos
 controllers deverão ser localizadas. Seu valor padrão é `app\controllers`. Se um
@@ -291,7 +291,7 @@ Caso você queira quebrar a convenção conforme descrito acima, você pode conf
 a propriedade [controllerMap](#controllerMap).
 
 
-#### [[yii\base\Application::language|language]] <a name="language"></a>
+#### [[yii\base\Application::language|language]] <span id="language"></span>
 
 Essa propriedade especifica o idioma no qual a aplicação deve exibir o conteúdo
 aos usuários finais. O valor padrão dessa propriedade é `en`, significando inglês.
@@ -312,7 +312,7 @@ Mais detalhes sobre essa propriedade podem ser encontrados na seção
 [Internacionalização](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::modules|modules]] <a name="modules"></a>
+#### [[yii\base\Application::modules|modules]] <span id="modules"></span>
 
 Essa propriedade especifica os [módulos](structure-modules.md) que uma aplicação
 contém.
@@ -338,7 +338,7 @@ com as chaves do array sendo os IDs dos módulos. Por exemplo,
 Por favor consulte a seção [Módulos](structure-modules.md) para mais detalhes.
 
 
-#### [[yii\base\Application::name|name]] <a name="name"></a>
+#### [[yii\base\Application::name|name]] <span id="name"></span>
 
 Essa propriedade especifica o nome da aplicação que pode ser exibido aos
 usuários finais. Ao contrário da propriedade [[yii\base\Application::id|id]] que
@@ -349,7 +349,7 @@ Você nem sempre precisa configurar essa propriedade se nenhuma parte do código
 a estiver usando.
 
 
-#### [[yii\base\Application::params|params]] <a name="params"></a>
+#### [[yii\base\Application::params|params]] <span id="params"></span>
 
 Essa propriedade especifica um array de parâmetros da aplicação que podem ser
 acessados globalmente. Ao invés de usar números e strings fixos espalhados por
@@ -379,7 +379,7 @@ modificá-lo na configuração da aplicação sem tocar em quaisquer códigos
 dependentes.
 
 
-#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <a name="sourceLanguage"></a>
+#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <span id="sourceLanguage"></span>
 
 Essa propriedade especifica o idioma no qual o código da aplicação foi escrito.
 O valor padrão é `'en-US'`, significando inglês dos Estados Unidos. Você deve
@@ -395,7 +395,7 @@ Mais detalhes sobre essa propriedade podem ser encontrados na seção
 [Internacionalização](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::timeZone|timeZone]] <a name="timeZone"></a>
+#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
 
 Essa propriedade é disponibilizada como uma maneira alternativa de definir a
 timezone do PHP em tempo de execução. Ao confiugrar essa propriedade, você está
@@ -410,21 +410,21 @@ do PHP. Por exemplo,
 ```
 
 
-#### [[yii\base\Application::version|version]] <a name="version"></a>
+#### [[yii\base\Application::version|version]] <span id="version"></span>
 
 Essa propriedade especifica a versão da aplicação. Seu valor padrão é `'1.0'`.
 Você nem sempre precisa configurar essa propriedade se nenhuma parte do seu código
 a está usando.
 
 
-### Propriedades Úteis <a name="useful-properties"></a>
+### Propriedades Úteis <span id="useful-properties"></span>
 
 As propriedades descritas nesta subseção não são comumente configuradas porque
 seus valores padrão estipulam convenções comuns. No entanto, você pode ainda
 configurá-las no caso de querer quebrar as convenções.
 
 
-#### [[yii\base\Application::charset|charset]] <a name="charset"></a>
+#### [[yii\base\Application::charset|charset]] <span id="charset"></span>
 
 Essa propriedade especifica o charset que a aplicação usa. O valor padrão é
 `'UTF-8'`, que deveria ser mantido como está para a maioria das aplicações, a
@@ -432,7 +432,7 @@ menos que você esteja trabalhando com sistemas legados que usam muitos dados qu
 não são unicode.
 
 
-#### [[yii\base\Application::defaultRoute|defaultRoute]] <a name="defaultRoute"></a>
+#### [[yii\base\Application::defaultRoute|defaultRoute]] <span id="defaultRoute"></span>
 
 Essa propriedade especifica a [rota](runtime-routing.md) que uma aplicação deveria
 usar quando uma requisição não especifica uma. A rota pode consistir de um ID de
@@ -452,7 +452,7 @@ você executar o comando `yii` sem fornecer quaisquer argumentos, ele exibirá a
 informação de ajuda.
 
 
-#### [[yii\base\Application::extensions|extensions]] <a name="extensions"></a>
+#### [[yii\base\Application::extensions|extensions]] <span id="extensions"></span>
 
 Essa propriedade especifica a lista de [extensões](structure-extensions.md) que
 estão instaladas e são usadas pela aplicação. Por padrão, ela receberá o array
@@ -492,7 +492,7 @@ especificado com um nome de uma classe de inicialização ou um array de
 alguns [aliases](concept-aliases.md).
 
 
-#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
+#### [[yii\base\Application::layout|layout]] <span id="layout"></span>
 
 Essa propriedade especifica o nome do layout padrão que deverá ser usado ao
 renderizar uma [view](structure-views.md). O valor padrão é `'main'`, significando
@@ -505,7 +505,7 @@ Você pode configurar esta propriedade como `false` se você quiser desativar o
 layout por padrão, embora isso seja muito raro.
 
 
-#### [[yii\base\Application::layoutPath|layoutPath]] <a name="layoutPath"></a>
+#### [[yii\base\Application::layoutPath|layoutPath]] <span id="layoutPath"></span>
 
 Essa propriedade especifica o caminho onde os arquivos de layout devem ser
 procurados. O valor padrão é o subdiretório `layouts` dentro do diretório do
@@ -517,7 +517,7 @@ Você pode configurá-la como um diretório ou um [alias](concept-aliases.md) de
 caminho.
 
 
-#### [[yii\base\Application::runtimePath|runtimePath]] <a name="runtimePath"></a>
+#### [[yii\base\Application::runtimePath|runtimePath]] <span id="runtimePath"></span>
 
 Essa propriedade especifica o caminho onde os arquivos temporários, tais como
 arquivos de log e de cache, podem ser gerados. O valor padrão é o diretório
@@ -533,7 +533,7 @@ Para simplificar o acesso a esse caminho, o Yii possui um alias de caminho
 pré-definido chamado `@runtime` para ele.
 
 
-#### [[yii\base\Application::viewPath|viewPath]] <a name="viewPath"></a>
+#### [[yii\base\Application::viewPath|viewPath]] <span id="viewPath"></span>
 
 Essa propriedade especifica o diretório raiz onde os arquivos de views estão
 localizados. O valor padrão do diretório é representado pelo alias `@app/views`.
@@ -541,7 +541,7 @@ Você pode configurá-lo como um diretório ou [alias](concept-aliases.md) de
 caminho.
 
 
-#### [[yii\base\Application::vendorPath|vendorPath]] <a name="vendorPath"></a>
+#### [[yii\base\Application::vendorPath|vendorPath]] <span id="vendorPath"></span>
 
 Essa propriedade especifica o diretório vendor gerenciado pelo [Composer](http://getcomposer.org).
 Ele contém todas as bibliotecas de terceiros usadas pela sua aplicação, incluindo
@@ -555,14 +555,14 @@ Para simplificar o acesso a esse caminho, o Yii tem um alias de caminho pré-def
 para ele chamado de `@vendor`.
 
 
-#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <a name="enableCoreCommands"></a>
+#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <span id="enableCoreCommands"></span>
 
 Essa propriedade só é suportada por [[yii\console\Application|aplicações do console]].
 Ela especifica se os comandos do core inclusos no pacote do Yii devem estar
 ativos. O valor padrão é `true`.
 
 
-## Eventos da Aplicação <a name="application-events"></a>
+## Eventos da Aplicação <span id="application-events"></span>
 
 Uma aplicação dispara muitos eventos durante o ciclo de vida de manipulação de
 uma requisição. Você pode vincular manipuladores a esses eventos nas
@@ -589,7 +589,7 @@ ser criada. Por exemplo,
 });
 ```
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <a name="beforeRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <span id="beforeRequest"></span>
 
 Este evento é disparado *antes* de uma aplicação manipular uma requisição. O nome
 do evento é `beforeRequest`.
@@ -601,7 +601,7 @@ Por exemplo, no manipulador de eventos, você pode definir dinamicamente a
 propriedade [[yii\base\Application::language]] baseado em alguns parâmetros.
 
 
-### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <a name="afterRequest"></a>
+### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <span id="afterRequest"></span>
 
 Este evento é disparado *depois* que uma aplicação finaliza o tratamento da
 requisição, mas *antes* de enviar a resposta. O nome do evento é `afterRequest`.
@@ -615,7 +615,7 @@ eventos enquanto está enviando conteúdo de resposta para os usuários finais.
 Esses eventos são disparados *depois* deste evento.
 
 
-### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <a name="beforeAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <span id="beforeAction"></span>
 
 Este evento é disparado *antes* de executar cada [action de controller](structure-controllers.md).
 O nome do evento é `beforeAction`.
@@ -642,7 +642,7 @@ controllers. Se um manipulador de evento definir [[yii\base\ActionEvent::isValid
 como `false`, todos os eventos seguintes NÃO serão disparados.
 
 
-### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <a name="afterAction"></a>
+### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <span id="afterAction"></span>
 
 Este evento é disparado *depois* de executar cada [action de controller](structure-controllers.md).
 O nome do evento é `afterAction`.
@@ -669,7 +669,7 @@ objetos a disparar este evento, seguidos pelos módulos (se houver algum) e
 finalmente pelos objetos Application.
 
 
-## Ciclo de Vida da  Aplicação <a name="application-lifecycle"></a>
+## Ciclo de Vida da  Aplicação <span id="application-lifecycle"></span>
 
 Quando um [script de entrada](structure-entry-scripts.md) estiver sendo executado
 para manipular uma requisição, uma aplicação passará pelo seguinte ciclo de vida:
diff --git a/docs/guide-pt-BR/structure-assets.md b/docs/guide-pt-BR/structure-assets.md
index c080d43..9b251f1 100644
--- a/docs/guide-pt-BR/structure-assets.md
+++ b/docs/guide-pt-BR/structure-assets.md
@@ -15,7 +15,7 @@ de assets. Neste tutorial, iremos descrever esta poderosa capacidade de gerênci
 de assets fornecidas pelo Yii.
 
 
-## Asset Bundles <a name="asset-bundles"></a>
+## Asset Bundles <span id="asset-bundles"></span>
 
 O Yii gerencia os assets na unidade de *asset bundle*. Um asset bundle é 
 simplesmente uma coleção de assets localizados em um diretório. Quando você 
@@ -23,7 +23,7 @@ registrar um asset bundle em uma [view (visão)](structure-views.md), serão
 incluídos os arquivos CSS e JavaScript do bundle na página Web renderizada.
 
 
-## Definindo os Asset Bundles <a name="defining-asset-bundles"></a>
+## Definindo os Asset Bundles <span id="defining-asset-bundles"></span>
 
 Os asset bundles são especificados como classes PHP que estendem de 
 [[yii\web\AssetBundle]]. O nome de um bundle corresponde simplesmente a um nome 
@@ -115,7 +115,7 @@ O bundle depende de outros dois bundles: [[yii\web\YiiAsset]] e
   apenas se você especificar a propriedade [[yii\web\AssetBundle::sourcePath|sourcePath]].
 
 
-### Localização dos Assets <a name="asset-locations"></a>
+### Localização dos Assets <span id="asset-locations"></span>
 
 Os assets, com base em sua localização, podem ser classificados como:
 
@@ -155,7 +155,7 @@ ao definir as classes de asset bundle.
   estar sujeitos a serem deletados.
 
 
-### Dependências de Assets <a name="asset-dependencies"></a>
+### Dependências de Assets <span id="asset-dependencies"></span>
 
 Ao incluir vários arquivos CSS ou JavaScript em uma página Web, devem seguir uma 
 determinada ordem para evitar problemas de sobrescritas. Por exemplo, se você 
@@ -173,7 +173,7 @@ As dependências de assets são transitivas. Isto significa que se um asset bund
 A depende de B e que o B depende de C, o A também dependerá de C.
 
 
-### Opções do Asset <a name="asset-options"></a>
+### Opções do Asset <span id="asset-options"></span>
 
 Você pode especificar as propriedades [[yii\web\AssetBundle::cssOptions|cssOptions]] 
 e [[yii\web\AssetBundle::jsOptions|jsOptions]] para personalizar o modo que os 
@@ -254,7 +254,7 @@ O exemplo anterior define um asset bundle para o
 publicação `beforeCopy`, apenas os subdiretórios `fonts` e `css` serão publicados.
 
 
-### Assets do Bower e NPM<a name="bower-npm-assets"></a>
+### Assets do Bower e NPM<span id="bower-npm-assets"></span>
 
 A maioria dos pacotes JavaScript/CSS são gerenciados pelo [Bower](http://bower.io/) 
 e/ou [NPM](https://www.npmjs.org/).
@@ -277,7 +277,7 @@ você siga os passos a seguir para gerenciar os assets na biblioteca:
   `@bower/jquery`.
 
 
-## Usando Asset Bundles <a name="using-asset-bundles"></a>
+## Usando Asset Bundles <span id="using-asset-bundles"></span>
 
 Para usar um asset bundle, registre uma [view (visão)](structure-views.md) 
 chamando o método [[yii\web\AssetBundle::register()]]. Por exemplo, no template 
@@ -307,7 +307,7 @@ registrados e pela ordem dos assets informados nas propriedades
 [[yii\web\AssetBundle::css]] e [[yii\web\AssetBundle::js]].
 
 
-### Personalizando os Asset Bundles <a name="customizing-asset-bundles"></a>
+### Personalizando os Asset Bundles <span id="customizing-asset-bundles"></span>
 
 O Yii gerencia os asset bundles através do componente de aplicação chamado 
 `assetManager` que é implementado pelo [[yii\web\AssetManager]]. 
@@ -378,7 +378,7 @@ Você também pode desabilitar *todos* os asset bundles definindo o
 [[yii\web\AssetManager::bundles]] como `false`.
 
 
-### Mapeando Asset <a name="asset-mapping"></a>
+### Mapeando Asset <span id="asset-mapping"></span>
 
 Às vezes, você pode querer "corrigir" os caminhos dos arquivos de asset 
 incorretos/incompatíveis em vários asset bundles. Por exemplo, o bundle A usa o 
@@ -418,7 +418,7 @@ chave a chave `jquery.js`.
    ou caminhos relativos ao caminho da propriedade [[yii\web\AssetManager::basePath]].
 
 
-### Publicação de Asset <a name="asset-publishing"></a>
+### Publicação de Asset <span id="asset-publishing"></span>
 
 Como mencionado anteriormente, se um asset bundle for localizado em um diretório
  que não é acessível pela Web, os seus assets serão copiados para um diretório 
@@ -453,7 +453,7 @@ rápido que a cópia de arquivos e também pode garantir que os assets publicado
 estejam sempre atualizados.
 
 
-## Asset Bundles de Uso Comum <a name="common-asset-bundles"></a>
+## Asset Bundles de Uso Comum <span id="common-asset-bundles"></span>
 
 O código nativo do Yii definiu vários asset bundles. Entre eles, os bundles a 
 seguir são de uso comum e podem ser referenciados em sua aplicação ou no código 
@@ -476,7 +476,7 @@ padrão destes bundles não satisfazer o que precisa, você pode personaliza-los
 conforme descrito na subseção [Personalizando os Asset Bundles](#customizing-asset-bundles). 
 
 
-## Conversão de Assets <a name="asset-conversion"></a>
+## Conversão de Assets <span id="asset-conversion"></span>
 
 Ao invés de escrever diretamente códigos CSS e/ou JavaScript, os desenvolvedores 
 geralmente os escrevem em alguma sintaxe estendida e usam ferramentas especiais 
@@ -561,7 +561,7 @@ de asset fonte e pelo caminho do arquivo de asset de destino.
   CSS/JavaScript resultantes nos asset bundles ao invés dos arquivos originais.
 
 
-## Combinando e Comprimindo Assets <a name="combining-compressing-assets"></a>
+## Combinando e Comprimindo Assets <span id="combining-compressing-assets"></span>
 
 Uma página Web pode incluir muitos arquivos CSS e/ou JavaScript. Para reduzir o 
 número de requisições HTTP e o tamanho total de downloads destes arquivos, uma 
@@ -598,7 +598,7 @@ original pertence. E, como resultado, os arquivos de asset combinados/comprimido
 serão incluídos na página, ao invés dos originais.
 
 
-### Um Exemplo <a name="example"></a>
+### Um Exemplo <span id="example"></span>
 
 Vamos usar um exemplo para explicar melhor o exemplo acima: 
 
@@ -687,7 +687,7 @@ Ou seja, o array de configuração do asset bundle será salvo no arquivo
 quando não estiver em produção.
 
 
-### Usando o Comando `asset` <a name="using-asset-command"></a>
+### Usando o Comando `asset` <span id="using-asset-command"></span>
 
 O Yii fornece um comando console chamado `asset` para automatizar a abordagem que 
 acabamos de descrever.
diff --git a/docs/guide-pt-BR/structure-controllers.md b/docs/guide-pt-BR/structure-controllers.md
index 955dc01..fdbc31f 100644
--- a/docs/guide-pt-BR/structure-controllers.md
+++ b/docs/guide-pt-BR/structure-controllers.md
@@ -11,7 +11,7 @@ para os [models](structure-models.md) (modelos), incluirão os resultados dos mo
 de saída.
 
 
-## Actions (Ações) <a name="actions"></a>
+## Actions (Ações) <span id="actions"></span>
 
 Os controllers são compostos por unidades básicas chamadas *ações* que podem ser
 tratados pelos usuários finais a fim de realizar a sua execução.
@@ -67,7 +67,7 @@ para a ação `view` com o novo ID criado pelo model. Caso contrário, a ação 
 a view `create` na qual os usuário poderão fornecer os dados necessários.
 
 
-## Routes (Rotas) <a name="routes"></a>
+## Routes (Rotas) <span id="routes"></span>
 
 Os usuários finais abordarão as ações por meio de *rotas*. Uma rota é uma string composta
 pelas seguintes partes:
@@ -93,7 +93,7 @@ a ação `index` do controller `site` será executada. Para mais detalhes sobre 
 as ações são resolvidas pelas rotas, por favor consulte a seção [Roteamento e Criação de URL](runtime-routing.md).
 
 
-## Criando Controllers <a name="creating-controllers"></a>
+## Criando Controllers <span id="creating-controllers"></span>
 
 Em [[yii\web\Application|aplicações Web]], os controllers devem estender de [[yii\web\Controller]] 
 ou de suas classes filhas. De forma semelhante, em [[yii\console\Application|aplicaçoes console]], 
@@ -110,7 +110,7 @@ class SiteController extends Controller
 ```
 
 
-### IDs dos Controllers <a name="controller-ids"></a>
+### IDs dos Controllers <span id="controller-ids"></span>
 
 Normalmente, um controller é projetado para tratar as requisições relativos a 
 um determinado tipo de recurso. Por esta razão, os IDs dos controllers geralmente
@@ -131,7 +131,7 @@ em caixa alto ou caixa baixa, números, underscores (underline) e barras, onde a
 barras são usadas para separar os níveis dos subdiretórios (por exemplo, `panels/admin`).
 
 
-### Nomenclatura da Classe do Controller <a name="controller-class-naming"></a>
+### Nomenclatura da Classe do Controller <span id="controller-class-naming"></span>
 
 Os nomes da classes dos controllers podem ser derivadas dos IDs dos controllers 
 de acordo com as seguintes regras:
@@ -161,7 +161,7 @@ um controller em um subdiretório do [[yii\base\Application::controllerNamespace
 categorias e não quiser usar [módulos](structure-modules.md).
 
 
-### Mapeando Controllers <a name="controller-map"></a>
+### Mapeando Controllers <span id="controller-map"></span>
 
 Você pode configurar um [[yii\base\Application::controllerMap|mapeamento de controllers]] para superar as barreiras impostas pelos IDs de controllers e pelos nomes de classes
 descritos acima. Isto é útil principalmente quando quiser esconder alguns controllers
@@ -186,7 +186,7 @@ na [configuração da aplicação](structure-applications.md#application-configu
 ```
 
 
-### Controller Padrão <a name="default-controller"></a>
+### Controller Padrão <span id="default-controller"></span>
 
 Cada aplicação tem um controller padrão que é especificado pela propriedade [[yii\base\Application::defaultRoute]].
 Quando uma requisição não especificar uma [rota](#id-da-rota), será utilizada a 
@@ -205,7 +205,7 @@ Você pode alterar o controller padrão como a seguinte [configuração da aplic
 ```
 
 
-## Criando Ações <a name="creating-actions"></a>
+## Criando Ações <span id="creating-actions"></span>
 
 Criar ações pode ser tão simples como a definição dos chamados *métodos de ação* 
 em uma classe controller. Um método de ação é um método *público* cujo nome inicia 
@@ -232,7 +232,7 @@ class SiteController extends Controller
 ```
 
 
-### IDs das Ações <a name="action-ids"></a>
+### IDs das Ações <span id="action-ids"></span>
 
 Uma ação muitas vezes é projetada para realizar uma manipulação em particular sobre
 um recurso. Por esta razão, os IDs das ações geralmente são verbos, tais como `view`, `update`, etc.
@@ -252,7 +252,7 @@ para serem utilizados em diferentes controllers ou para serem distribuídos como
 [extensions](structure-extensions.md).
 
 
-### Ações Inline <a name="inline-actions"></a>
+### Ações Inline <span id="inline-actions"></span>
 
 As ações inline referem-se a os chamados métodos de ação, que foram descritos anteriormente.
 
@@ -276,7 +276,7 @@ para serem criadas. No entanto, se você deseja reutilizar algumas ações em di
 lugares ou se deseja distribuir uma ação, deve considerar defini-la como uma *ação standalone*.
 
 
-### Ações Standalone <a name="standalone-actions"></a>
+### Ações Standalone <span id="standalone-actions"></span>
 
 Ações standalone são definidas por classes de ações que estendem de [[yii\base\Action]]
 ou de suas classes filhas. 
@@ -325,7 +325,7 @@ class HelloWorldAction extends Action
 ```
 
 
-### Resultados da Ação <a name="action-results"></a>
+### Resultados da Ação <span id="action-results"></span>
 
 O valor de retorno do método de ação ou do método `run()` de uma ação standalone 
 são importantes. Eles representam o resultado da ação correspondente.
@@ -355,7 +355,7 @@ public function actionForward()
 ```
 
 
-### Parâmetros da Ação <a name="action-parameters"></a>
+### Parâmetros da Ação <span id="action-parameters"></span>
 
 Os métodos de ações para as ações inline e os métodos `run()` para as ações
 standalone podem receber parâmetros, chamados *parâmetros da ação*.
@@ -416,7 +416,7 @@ aplicações Web. Para aplicações console, por favor, consulte a seção
 [Comandos de Console](tutorial-console.md) para mais detalhes.
 
 
-### Default Action <a name="default-action"></a>
+### Default Action <span id="default-action"></span>
 
 Cada controller tem uma ação padrão especificado pela propriedade 
 [[yii\base\Controller::defaultAction]].
@@ -443,7 +443,7 @@ class SiteController extends Controller
 ```
 
 
-## Ciclo de Vida do Controller <a name="controller-lifecycle"></a>
+## Ciclo de Vida do Controller <span id="controller-lifecycle"></span>
 
 Ao processar uma requisição, a [aplicação](structure-applications.md) criará 
 um controller baseada na [rota](#routes) solicitada. O controller, então, se submeterá
@@ -465,7 +465,7 @@ ao seguinte ciclo de vida para concluir a requisição:
 6. A aplicação obterá o resultado da ação e irá associá-lo na [resposta](runtime-responses.md).
 
 
-## Best Practices <a name="best-practices"></a>
+## Best Practices <span id="best-practices"></span>
 
 Em uma aplicação bem projetada, frequentemente os controllers são bem pequenos na 
 qual cada ação possui poucas linhas de códigos.
diff --git a/docs/guide-pt-BR/structure-entry-scripts.md b/docs/guide-pt-BR/structure-entry-scripts.md
index dd5068b..0d70bed 100644
--- a/docs/guide-pt-BR/structure-entry-scripts.md
+++ b/docs/guide-pt-BR/structure-entry-scripts.md
@@ -27,7 +27,7 @@ O trabalho principal dos scripts de entrada é o seguinte:
 * Chamar [[yii\base\Application::run()]] para processar as requisições que chegam.
 
 
-## Aplicações Web <a name="web-applications"></a>
+## Aplicações Web <span id="web-applications"></span>
 
 Este é o código no script de entrada para o [Modelo Básico de Aplicação Web](start-installation.md).
 
@@ -51,7 +51,7 @@ $config = require(__DIR__ . '/../config/web.php');
 ```
 
 
-## Aplicações Console <a name="console-applications"></a>
+## Aplicações Console <span id="console-applications"></span>
 
 De forma semelhante, o seguinte é o código do script de entrada de uma aplicação
 do console:
@@ -88,7 +88,7 @@ exit($exitCode);
 ```
 
 
-## Definindo Constantes <a name="defining-constants"></a>
+## Definindo Constantes <span id="defining-constants"></span>
 
 Os scrips de entrada são o melhor lugar para definir as constantes globais. O
 Yii suporta as seguintes três constantes:
diff --git a/docs/guide-pt-BR/structure-extensions.md b/docs/guide-pt-BR/structure-extensions.md
index 5406329..10148b8 100644
--- a/docs/guide-pt-BR/structure-extensions.md
+++ b/docs/guide-pt-BR/structure-extensions.md
@@ -15,7 +15,7 @@ bom trabalho.
   usados sem o Yii, referenciamos sob o termo de "pacote" ou "biblioteca".
 
 
-## Usando Extensões <a name="using-extensions"></a>
+## Usando Extensões <span id="using-extensions"></span>
 
 Para usar uma extensão, você precisa instalá-lo primeiro. A maioria das extensões 
 são distribuídas como pacotes do [Composer](https://getcomposer.org/) que podem 
@@ -80,7 +80,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
   [classe autoloader do Yii](concept-autoloading.md).
 
 
-### Instalando Extensões Manualmente <a name="installing-extensions-manually"></a>
+### Instalando Extensões Manualmente <span id="installing-extensions-manually"></span>
 
 Em algumas raras ocasiões, você pode querer instalar algumas ou todas extensões 
 manualmente, ao invés de depender do Composer.
@@ -108,7 +108,7 @@ você pode incluir o código a seguir na configuração de sua aplicação:
 ```
 
 
-## Criando Extensões <a name="creating-extensions"></a>
+## Criando Extensões <span id="creating-extensions"></span>
 
 Você pode considerar criar uma extensão quando você sentir a necessidade de 
 compartilhar o seu bom código para outras pessoas.
@@ -133,7 +133,7 @@ um pacote do Composer.
    e instalar suas extensões usando o Composer.
 
 
-### `composer.json` <a name="composer-json"></a>
+### `composer.json` <span id="composer-json"></span>
 
 Cada pacote do Composer deve ter um arquivo `composer.json` no diretório root. O 
 arquivo contém os metadados a respeito do pacote. Você pode achar a especificação 
@@ -181,7 +181,7 @@ O exemplo a seguir mostra o arquivo `composer.json` para a extensão `yiisoft/yi
 ```
 
 
-#### Nome do Pacote <a name="package-name"></a>
+#### Nome do Pacote <span id="package-name"></span>
 
 Cada pacote do Composer deve ter um nome que identifica unicamente o pacote 
 entre todos os outros. Os nomes dos pacotes devem seguir o formato 
@@ -197,7 +197,7 @@ de extensões em Yii 2, por exemplo, `myname/yii2-mywidget`. Isto permitirá que
 os usuários encontrem mais facilmente uma extensão Yii 2.
 
 
-#### Tipo de Pacote <a name="package-type"></a>
+#### Tipo de Pacote <span id="package-type"></span>
 
 É importante que você especifique o tipo de pacote de sua extensão como 
 `yii2-extension`, de modo que o pacote possa ser reconhecido como uma extensão 
@@ -210,7 +210,7 @@ aplicações Yii podem saber quais extensões estão instaladas (a informação 
 ser acessada através da propriedade [[yii\base\Application::extensions]]).
 
 
-#### Dependências <a name="dependencies"></a>
+#### Dependências <span id="dependencies"></span>
 
 Sua extensão depende do Yii (claro!). Sendo assim, você deve listar (`yiisoft/yii2`) 
 na entrada `require` do `composer.json`. Se sua extensão também depender de outras 
@@ -247,7 +247,7 @@ Estes dois diretórios podem ser referenciados para usar alias mais curtas como
 Para mais detalhes sobre o gerenciamento de asset, por favor, consulte a seção 
 [Assets](structure-assets.md#bower-npm-assets).
 
-#### Classe Autoloading <a name="class-autoloading"></a>
+#### Classe Autoloading <span id="class-autoloading"></span>
 
 Para que suas classes sejam carregadas automaticamente pela classe autoloader do 
 Yii ou da classe autoloader do Composer, você deve especificar a entrada `autoload` 
@@ -274,7 +274,7 @@ Por exemplo, a declaração acima do `autoload` corresponderá a uma alias chama
 `@yii/imagine`.
 
 
-### Práticas Recomendadas <a name="recommended-practices"></a>
+### Práticas Recomendadas <span id="recommended-practices"></span>
 
 Como as extensões são destinadas a serem usadas por outras pessoas, você precisará, 
 por muitas vezes, fazer um esforço extra durante o desenvolvimento. A seguir, 
@@ -282,7 +282,7 @@ apresentaremos algumas práticas comuns e recomendadas na criação de extensõe
 alta qualidade.
 
 
-#### Namespaces <a name="namespaces"></a>
+#### Namespaces <span id="namespaces"></span>
 
 Para evitar conflitos de nomes e criar classes autocarregáveis em sua extensão, 
 você deve usar namespaces e nomear as classes seguindo o 
@@ -298,7 +298,7 @@ Não use `yii`, `yii2` ou `yiisoft` como nome do seu vendor. Estes nomes são
 reservados para serem usados para o código nativo do Yii.
 
 
-#### Inicialização das Classes <a name="bootstrapping-classes"></a>
+#### Inicialização das Classes <span id="bootstrapping-classes"></span>
 
 As vezes, você pode querer que sua extensão execute algum código durante o 
 [processo de inicialização](runtime-bootstrapping.md) de uma aplicação. Por 
@@ -347,7 +347,7 @@ automaticamente a classe de inicialização e chamará o método
 inicialização para cada requisição.
 
 
-#### Trabalhando com Banco de Dados <a name="working-with-databases"></a>
+#### Trabalhando com Banco de Dados <span id="working-with-databases"></span>
 
 Sua extensão pode precisar acessar banco de dados. Não pressupunha que as 
 aplicações que usam sua extensão SEMPRE usam o `Yii::$db` como a conexão do 
@@ -367,7 +367,7 @@ alterações no esquema do banco de dados, você deve:
 - evitar o uso de [Active Record](db-active-record.md) nas migrations.
 
 
-#### Usando Assets <a name="using-assets"></a>
+#### Usando Assets <span id="using-assets"></span>
 
 Se sua extensão usar um widget ou um módulo, pode ter grandes chances de requerer 
 algum [assets](structure-assets.md) para funcionar.
@@ -388,7 +388,7 @@ usada com mais facilidade pelos usuários. Por favor, consulte a seção
 em geral.
 
 
-#### Internacionalização e Localização <a name="i18n-l10n"></a>
+#### Internacionalização e Localização <span id="i18n-l10n"></span>
 
 Sua extensão pode ser usada por aplicações que suportam diferentes idiomas! 
 Portanto, se sua extensão exibir conteúdo para os usuários finais, você deve 
@@ -404,7 +404,7 @@ tentar usar [internacionalização e localização](tutorial-i18n.md). Em partic
 Para mais detalhes, por favor, consulte a seção [Internacionalização](tutorial-i18n.md).
 
 
-#### Testes <a name="testing"></a>
+#### Testes <span id="testing"></span>
 
 Você quer que sua extensão execute com perfeição sem trazer problemas para outras 
 pessoas. Para alcançar este objetivo, você deve testar sua extensão antes de 
@@ -419,14 +419,14 @@ testes unitários, testes de aceitação e testes funcionais. Para mais detalhes
 por favor, consulte a seção [Testing](test-overview.md).
 
 
-#### Versionamento <a name="versioning"></a>
+#### Versionamento <span id="versioning"></span>
 
 Você deve dar para cada liberação de sua extensão um numero de versão (por exemplo, 
 `1.0.1`). Recomendamos que você siga a prática [versionamento semântico](http://semver.org) 
 ao determinar qual número de versão será usado.
 
 
-#### Liberando Versões <a name="releasing"></a>
+#### Liberando Versões <span id="releasing"></span>
 
 Para que outras pessoas saibam sobre sua extensão, você deve liberá-lo ao público.
 
@@ -468,7 +468,7 @@ a sua extensão:
   [estilo de codificação do framework](https://github.com/yiisoft/yii2/wiki/Core-framework-code-style).
 
 
-## Extensões Nativas <a name="core-extensions"></a>
+## Extensões Nativas <span id="core-extensions"></span>
 
 O Yii fornece as seguintes extensões que são desenvolvidas e mantidas pela equipe 
 de desenvolvimento do Yii. Todos são registrados no [Packagist](https://packagist.org/) 
diff --git a/docs/guide-pt-BR/structure-filters.md b/docs/guide-pt-BR/structure-filters.md
index 3c082bc..49533a8 100644
--- a/docs/guide-pt-BR/structure-filters.md
+++ b/docs/guide-pt-BR/structure-filters.md
@@ -13,7 +13,7 @@ aplicadas *antes* que as ações) e/ou um pós-filtro (lógica aplicada *depois*
 que as ações).
 
 
-## Usando os Filtros <a name="using-filters"></a>
+## Usando os Filtros <span id="using-filters"></span>
 
 Os filtros são, essencialmente, um tipo especial de 
 [behaviors (comportamento)](concept-behaviors.md). No entanto, o uso dos filtros 
@@ -73,7 +73,7 @@ de acordo com as seguintes regras:
     - Aplica os filtros declarados na aplicação na ordem inversa ao que foram listados no método `behaviors()`.
 
 
-## Criando Filtros <a name="creating-filters"></a>
+## Criando Filtros <span id="creating-filters"></span>
 
 Para criar um novo filtro de ação, deve estender a classe [[yii\base\ActionFilter]] 
 e sobrescrever os métodos [[yii\base\ActionFilter::beforeAction()|beforeAction()]] 
@@ -112,14 +112,14 @@ class ActionTimeFilter extends ActionFilter
 ```
 
 
-## Filtros Nativos <a name="core-filters"></a>
+## Filtros Nativos <span id="core-filters"></span>
 
 O Yii fornece um conjunto de filtros que normalmente são usados, localizados sob 
 o namespace `yii\filters`. A seguir, iremos realizar uma breve apresentação 
 destes filtros.
 
 
-### [[yii\filters\AccessControl|AccessControl]] <a name="access-control"></a>
+### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
 
 O filtro AccessControl fornece um controle de acesso simples, baseado em um 
 conjunto de [[yii\filters\AccessControl::rules|regras]].
@@ -159,7 +159,7 @@ De modo geral, para mais detalhes sobre o controle de acesso, por favor, consult
 a seção [Autorização](security-authorization.md).
 
 
-### Métodos de Autenticação por Filtros <a name="auth-method-filters"></a>
+### Métodos de Autenticação por Filtros <span id="auth-method-filters"></span>
 
 O método de autenticação por filtros são usados para autenticar um usuário usando 
 vários métodos, tais como 
@@ -191,7 +191,7 @@ de APIs RESTful. Para mais detalhes, por favor, consulte a seção RESTful
 [Autenticação](rest-authentication.md).
 
 
-### [[yii\filters\ContentNegotiator|ContentNegotiator]] <a name="content-negotiator"></a>
+### [[yii\filters\ContentNegotiator|ContentNegotiator]] <span id="content-negotiator"></span>
 
 O filtro ContentNegotiator suporta a identificação de formatos de respostas e o 
 idioma da aplicação. Este filtro tentar determinar o formato de resposta e o 
@@ -257,7 +257,7 @@ use yii\web\Response;
   [[languages]] serão utilizados.
 
 
-### [[yii\filters\HttpCache|HttpCache]] <a name="http-cache"></a>
+### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
 
 O filtro HttpCache implementa no lado do cliente (client-side) o cache pela 
 utilização dos parâmetros `Last-Modified` e `Etag` do cabeçalho HTTP.
@@ -285,7 +285,7 @@ Por favor, consulte a seção [Cache HTTP](caching-http.md) para mais detalhes
 sobre o uso do HttpCache.
 
 
-### [[yii\filters\PageCache|PageCache]] <a name="page-cache"></a>
+### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
 
 O filtro PageCache implementa no lado do servidor (server-side) o cache das 
 páginas. No exemplo a seguir, o PageCache é aplicado para a ação `index` guardar 
@@ -320,7 +320,7 @@ Por favor, consulte a seção [Cache de Página](caching-page.md) para mais
 detalhes sobre o uso do PageCache.
 
 
-### [[yii\filters\RateLimiter|RateLimiter]] <a name="rate-limiter"></a>
+### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
 
 O filtro RateLimiter implementa um limitador de acesso baseado no 
 [algoritmo do balde furado (leaky bucket)](http://en.wikipedia.org/wiki/Leaky_bucket).
@@ -329,7 +329,7 @@ seção [Limitador de Acesso](rest-rate-limiting.md) para mais detalhes sobre o
 uso deste filtro.
 
 
-### [[yii\filters\VerbFilter|VerbFilter]] <a name="verb-filter"></a>
+### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
 
 O filtro VerbFilter verifica se os métodos de requisição HTTP são permitidos para 
 as ações solicitadas. Se não for, será lançada uma exceção HTTP 405. No exemplo 
@@ -356,7 +356,7 @@ public function behaviors()
 }
 ```
 
-### [[yii\filters\Cors|Cors]] <a name="cors"></a>
+### [[yii\filters\Cors|Cors]] <span id="cors"></span>
 
 O compartilhamento de recursos cross-origin 
 [CORS](https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS) é um 
diff --git a/docs/guide-pt-BR/structure-models.md b/docs/guide-pt-BR/structure-models.md
index fb869cf..a524d16 100644
--- a/docs/guide-pt-BR/structure-models.md
+++ b/docs/guide-pt-BR/structure-models.md
@@ -26,7 +26,7 @@ Por favor, consulte a documentação relevante para mais detalhes sobre estes mo
 > [[yii\base\Model]], normalmente é a classe base preferível para um model.
 
 
-## Atributos <a name="attributes"></a>
+## Atributos <span id="attributes"></span>
 
 Os models representam dados de negócio por meio de *atributos*. Cada atributo é 
 uma propriedade publicamente acessível de um model. O método [[yii\base\Model::attributes()]] 
@@ -61,7 +61,7 @@ foreach ($model as $name => $value) {
 ```
 
 
-### Definindo Atributos <a name="defining-attributes"></a>
+### Definindo Atributos <span id="defining-attributes"></span>
 
 Por padrão, se a classe model estender diretamente de [[yii\base\Model]], todas 
 as suas variáveis públicas e não estáticas serão atributos. Por exemplo, a classe 
@@ -93,7 +93,7 @@ Observe que também poderá sobrescrever os métodos mágicos tais como `__get()
 de objetos.
 
 
-### Labels dos Atributos <a name="attribute-labels"></a>
+### Labels dos Atributos <span id="attribute-labels"></span>
 
 Ao exibir valores ou obter dados de entrada dos atributos, muitas vezes é necessário 
 exibir alguns labels associados aos atributos. Por exemplo, dado um atributo chamado 
@@ -170,7 +170,7 @@ frequentemente tornam-se mais convenientes e podem resultar um código mais limp
 e reutilizável.
 
 
-## Cenários <a name="scenarios"></a>
+## Cenários <span id="scenarios"></span>
 
 Um model (modelo) pode ser usado em diferentes *cenários*. Por exemplo, um model 
 `User` pode ser usado para obter dados de entrada de login, mas também pode ser 
@@ -253,7 +253,7 @@ Você pode, no entanto, usá-lo para outros fins. Por exemplo, você pode declar
 diferentes [labels para os atributos](#attribute-labels) baseados no cenário atual.
 
 
-## Regras de Validação <a name="validation-rules"></a>
+## Regras de Validação <span id="validation-rules"></span>
 
 Quando os dados para um model (modelo) são recebidos de usuários finais, devem ser 
 validados para garantir que satisfazem as regras (*regras de validação*, também 
@@ -332,7 +332,7 @@ Um atributo será validado, se e somente se, for um atributo ativo declarado no
 método `scenarios()` e estiver associado a uma ou várias regras declaradas no método `rules()`.
 
 
-## Atribuição em Massa <a name="massive-assignment"></a>
+## Atribuição em Massa <span id="massive-assignment"></span>
 
 Atribuição em massa é a forma conveniente para popular um model (modelo) com os 
 dados de entrada do usuário usando uma única linha de código.
@@ -358,7 +358,7 @@ $model->body = isset($data['body']) ? $data['body'] : null;
 ```
 
 
-### Atributos Seguros <a name="safe-attributes"></a>
+### Atributos Seguros <span id="safe-attributes"></span>
 
 A atribuição em massa só se aplica aos chamados *safe attributes* (atributos seguros), 
 que são os atributos listados no [[yii\base\Model::scenarios()]] para o 
@@ -403,7 +403,7 @@ public function rules()
 ```
 
 
-### Atributos não Seguros <a name="unsafe-attributes"></a>
+### Atributos não Seguros <span id="unsafe-attributes"></span>
 
 Como descrito anteriormente, o método [[yii\base\Model::scenarios()]] serve para 
 dois propósitos: determinar quais atributos devem ser validados e quais atributos 
@@ -431,7 +431,7 @@ $model->secret = $secret;
 ```
 
 
-## Exportação de Dados <a name="data-exporting"></a>
+## Exportação de Dados <span id="data-exporting"></span>
 
 Muitas vezes os models (modelos) precisam ser exportados em diferentes tipos de 
 formatos. Por exemplo, você pode querer converter um conjunto de models (modelos) 
@@ -462,7 +462,7 @@ Na verdade, é a maneira padrão de exportação de models (modelos) no desenvol
 de Web services RESTful, como descrito na seção [Formatando Respostas](rest-response-formatting.md).
 
 
-### Campos <a name="fields"></a>
+### Campos <span id="fields"></span>
 
 Um campo é simplesmente um elemento nomeado no array obtido pela chamada do método 
 [[yii\base\Model::toArray()]] de um model (modelo).
@@ -530,7 +530,7 @@ public function fields()
 >campos `auth_key`, `password_hash` e `password_reset_token`.
 
 
-## Boas Práticas <a name="best-practices"></a>
+## Boas Práticas <span id="best-practices"></span>
 
 A representação dos dados, regras e lógicas de negócios estão centralizados nos 
 models (modelos). Muitas vezes precisam ser reutilizadas em lugares diferentes. 
diff --git a/docs/guide-pt-BR/structure-modules.md b/docs/guide-pt-BR/structure-modules.md
index 8f0f559..8103b9d 100644
--- a/docs/guide-pt-BR/structure-modules.md
+++ b/docs/guide-pt-BR/structure-modules.md
@@ -11,7 +11,7 @@ módulos diferem das [aplicações](structure-applications.md) pelo fato de não
 poderem ser implementados sozinhos e que devem residir dentro das aplicações.
 
 
-## Criando Módulos <a name="creating-modules"></a>
+## Criando Módulos <span id="creating-modules"></span>
 
 Um módulo é organizado como um diretório que é chamado de 
 [[yii\base\Module::basePath|caminho base]] do módulo. Dentro deste diretório, 
@@ -33,7 +33,7 @@ forum/
 ```
 
 
-### Classe do Módulo <a name="module-classes"></a>
+### Classe do Módulo <span id="module-classes"></span>
 
 Cada módulo deve ter uma única classe que estende de [[yii\base\Module]]. Esta 
 classe deve estar localizada diretamente sob o [[yii\base\Module::basePath|caminho base]] 
@@ -89,7 +89,7 @@ return [
 ```
 
 
-### Controllers em Módulos <a name="controllers-in-modules"></a>
+### Controllers em Módulos <span id="controllers-in-modules"></span>
 
 Ao criar controllers (controladores) em um módulo, uma convenção é colocar as 
 classes dos controllers (controladores) sob o sub-namespace `controllers` do 
@@ -117,7 +117,7 @@ torna-los acessíveis pela configuração da propriedade [[yii\base\Module::cont
 de forma similar ao [que você fez na aplicação](structure-applications.md#controller-map).
 
 
-### Views em Módulos <a name="views-in-modules"></a>
+### Views em Módulos <span id="views-in-modules"></span>
 
 As views (visões) devem ser colocadas no diretório `views` dentro do 
 [[yii\base\Module::basePath|caminho base]] do módulo. Para as views (visões) 
@@ -135,7 +135,7 @@ layout. Se você não configurar a propriedade `layout`, o layout da aplicação
 usada em seu lugar.
 
 
-## Usando os Módulos <a name="using-modules"></a>
+## Usando os Módulos <span id="using-modules"></span>
 
 Para usar um módulo em uma aplicação, basta configurar a aplicação, listando o 
 módulo na propriedade [[yii\base\Application::modules|modules]] da aplicação. O 
@@ -160,7 +160,7 @@ do array correspondente é uma [configuração](concept-configurations.md) para 
 criação do módulo.
 
 
-### Rotas <a name="routes"></a>
+### Rotas <span id="routes"></span>
 
 Assim como acessar os controllers (controladores) em uma aplicação, as 
 [rotas](structure-controllers.md#routes) são usadas para tratar os controllers 
@@ -174,7 +174,7 @@ então a propriedade [[yii\base\Module::defaultRoute]], na qual o valor padrão 
 que a rota `forum` representará o controller (controlador) `default` no módulo `forum`.
 
 
-### Acessando os Módulos <a name="accessing-modules"></a>
+### Acessando os Módulos <span id="accessing-modules"></span>
 
 Dentro de um módulo, você poderá precisar muitas vezes obter a instância do 
 [módulo da classe](#module-classes) para que você possa acessar o ID, os parâmetros, 
@@ -218,7 +218,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-### Inicializando os Módulos <a name="bootstrapping-modules"></a>
+### Inicializando os Módulos <span id="bootstrapping-modules"></span>
 
 Alguns módulos precisam ser executados a cada requisição. O módulo 
 [[yii\debug\Module|debug]] é um exemplo desta necessidade. Para isto, você deverá 
@@ -241,7 +241,7 @@ seja sempre carregado:
 ```
 
 
-## Módulos Aninhados <a name="nested-modules"></a>
+## Módulos Aninhados <span id="nested-modules"></span>
 
 Os módulos podem ser aninhados em níveis ilimitados. Isto é, um módulo pode conter 
 um outro módulo que pode conter ainda um outro módulo. Nós chamamos dos anteriores 
@@ -280,7 +280,7 @@ os IDs de todos os seus módulos ancestrais. Por exemplo, a rota
   classes.
 
 
-## Boas Práticas <a name="best-practices"></a>
+## Boas Práticas <span id="best-practices"></span>
 
 Os módulos são melhores usados em aplicações de larga escala, cujas características 
 podem ser divididas em vários grupos, cada um constituídas por um conjuntos de 
diff --git a/docs/guide-pt-BR/structure-views.md b/docs/guide-pt-BR/structure-views.md
index d2dd099..d22e231 100644
--- a/docs/guide-pt-BR/structure-views.md
+++ b/docs/guide-pt-BR/structure-views.md
@@ -13,7 +13,7 @@ os arquivos view templates (modelos de visão) ou view template (modelo de visã
 apenas como views (visões).
 
 
-## Criando Views (Visões) <a name="creating-views"></a>
+## Criando Views (Visões) <span id="creating-views"></span>
 
 Como mencionado anteriormente, uma view (visão) é simplesmente um arquivo PHP 
 composto por HTML ou códigos PHP. A view (visão) a seguir, apresenta um formulário 
@@ -58,7 +58,7 @@ desencadeiam a [renderização da view (visão)](#rendering-views).
   uma ótima maneira de documentar suas views (visões).
 
 
-### Segurança <a name="security"></a>
+### Segurança <span id="security"></span>
 
 Ao criar views (visões) que geram páginas HTML, é importante que você codifique 
 ou filtre dados obtidos pelos usuários antes que os apresente. Caso contrário, 
@@ -98,7 +98,7 @@ use yii\helpers\HtmlPurifier;
   do resultado filtrado caso sua aplicação necessite de o máximo de performance. 
 
 
-### Organizando as Views (Visões) <a name="organizing-views"></a>
+### Organizando as Views (Visões) <span id="organizing-views"></span>
 
 Assim como os [controllers (controladores)](structure-controllers.md) e os 
 [models (modelos)](structure-models.md), existem convenções para organizar as 
@@ -122,7 +122,7 @@ o método [[yii\base\ViewContextInterface::getViewPath()]] dos controllers
 (controladores) ou dos widgets.
 
 
-## Renderizando Views (Visões) <a name="rendering-views"></a>
+## Renderizando Views (Visões) <span id="rendering-views"></span>
 
 A renderização das views (visões) podem ser feitas nos 
 [controllers (controladores)](structure-controllers.md), nos 
@@ -139,7 +139,7 @@ methodName($view, $params = [])
 ```
 
 
-### Renderização pelos Controllers (Controladores) <a name="rendering-in-controllers"></a>
+### Renderização pelos Controllers (Controladores) <span id="rendering-in-controllers"></span>
 
 Nos [controllers (controladores)](structure-controllers.md), você pode chamar os 
 seguintes métodos para renderizar as views (visões):
@@ -186,7 +186,7 @@ class PostController extends Controller
 ```
 
 
-### Renderização pelos Widgets <a name="rendering-in-widgets"></a>
+### Renderização pelos Widgets <span id="rendering-in-widgets"></span>
 
 Nos [widgets](structure-widgets.md), você pode chamar os seguintes métodos do 
 widget para renderizar views (visões).
@@ -219,7 +219,7 @@ class ListWidget extends Widget
 ```
 
 
-### Renderização pelas Views (Visões) <a name="rendering-in-views"></a>
+### Renderização pelas Views (Visões) <span id="rendering-in-views"></span>
 
 Você pode renderizar uma view dentro de outra view chamando um dos seguintes 
 métodos fornecidos pelo [[yii\base\View|componente da view]]:
@@ -241,7 +241,7 @@ Lembre-se que a `$this` da view (visão) refere-se ao componente da [[yii\base\V
 ```
 
 
-### Renderização por Outros Lugares <a name="rendering-in-other-places"></a>
+### Renderização por Outros Lugares <span id="rendering-in-other-places"></span>
 
 Em qualquer lugar, você pode acessar o componente de aplicação [[yii\base\View|view]] 
 pela expressão `Yii::$app->view` e chamar qualquer método mencionado anteriormente 
@@ -253,7 +253,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 ```
 
 
-### Views (Visões) Nomeadas <a name="named-views"></a>
+### Views (Visões) Nomeadas <span id="named-views"></span>
 
 Ao renderizar uma view (visão), você pode especificar a view usando um nome ou o 
 caminho do arquivo/alias. Na maioria dos casos, você usará a primeira maneira, 
@@ -296,7 +296,7 @@ De acordo com as regras acima, ao chamar `$this->render('view')` em um controlle
 view, será renderizado o arquivo de visão `@app/views/post/_overview.php`.
 
 
-### Acessando Dados em Views (Visões) <a name="accessing-data-in-views"></a>
+### Acessando Dados em Views (Visões) <span id="accessing-data-in-views"></span>
 
 Existem duas abordagens para acessar dados em um view (visão): *push* e *pull*.
 
@@ -335,7 +335,7 @@ todo, o que poderia tornar-se tedioso e propenso a erros se uma view for
 compartilhada e renderizada em lugares diferentes.
 
 
-### Compartilhando Dados entre as Views (Visões) <a name="sharing-data-among-views"></a>
+### Compartilhando Dados entre as Views (Visões) <span id="sharing-data-among-views"></span>
 
 O [[yii\base\View|componente da view]] fornece a propriedade 
 [[yii\base\View::params|params]] que você pode usar para compartilhar dados entre 
@@ -359,7 +359,7 @@ propriedade [[yii\base\View::params|params]]:
 ```
 
 
-## Layouts <a name="layouts"></a>
+## Layouts <span id="layouts"></span>
 
 Os layouts são um tipo especial de views (visões) que representam as partes comuns 
 das views (visões). Por exemplo, a maioria das páginas de aplicações Web 
@@ -369,7 +369,7 @@ no layout e incorporar o resultado da renderização de uma view em um lugar
 apropriado no layout.
 
 
-### Criando Layouts <a name="creating-layouts"></a>
+### Criando Layouts <span id="creating-layouts"></span>
 
 Pelo fato dos layouts também serem views (visões), eles podem ser criados de 
 forma semelhante as views (visões) normais. Por padrão, os layouts são guardados 
@@ -440,7 +440,7 @@ inseridos nos locais onde estes métodos forem chamados.
   para a posição final do corpo do layout que foram registrados.
 
 
-### Acessando Dados nos Layouts <a name="accessing-data-in-layouts"></a>
+### Acessando Dados nos Layouts <span id="accessing-data-in-layouts"></span>
 
 Dentro de um layout, você tem acesso a duas variáveis predefinidas: `$this` e 
 `$content`. A primeira refere-se ao componente da [[yii\base\View|view]] como as 
@@ -455,7 +455,7 @@ passar os dados de um conteúdo da view em um layout, poderá usar o método des
 na subseção [Compartilhando Dados entre as Views (Visões)](#sharing-data-among-views).
 
 
-### Usando Layouts <a name="using-layouts"></a>
+### Usando Layouts <span id="using-layouts"></span>
 
 Como descrito na subseção [Renderização nos Controllers (Controladores)](#rendering-in-controllers), 
 quando você renderizar uma view (visão) chamando o método [[yii\base\Controller::render()|render()]] 
@@ -523,7 +523,7 @@ e o modulo de contexto obtidos na primeira etapa. O nome do layout pode ter:
 Caso o nome do layout não tiver uma extensão de arquivo, será usado um `.php` por padrão.
 
 
-### Layouts Aninhados <a name="nested-layouts"></a>
+### Layouts Aninhados <span id="nested-layouts"></span>
 
 Algumas vezes, você pode querer que um layout seja usado dentro de outro. Por 
 exemplo, você pode querer usar diferentes layouts para cada seção de um página 
@@ -550,7 +550,7 @@ pode ser tanto um arquivo do layout quanto uma alias.
 Usando a abordagem mencionada, poderá aninhar os layouts em mais de um nível.
 
 
-### Usando Blocos <a name="using-blocks"></a>
+### Usando Blocos <span id="using-blocks"></span>
 
 Os blocos lhe permitem especificar o conteúdo da view (visão) de um local e exibi-lo 
 em outro. Geralmente são usados em conjunto com os layouts. Por exemplo, você pode 
@@ -614,7 +614,7 @@ ou caso não esteja disponível exiba um conteúdo padrão.
 ```
 
 
-## Usando Componentes de View (Visão) <a name="using-view-components"></a>
+## Usando Componentes de View (Visão) <span id="using-view-components"></span>
 
 Os [[yii\base\View|componentes de view (visão)]] fornecem muitos recursos 
 relacionados às views (visões). Enquanto você pode obter os componentes de view 
@@ -655,7 +655,7 @@ Você também pode usar com frequência os seguintes recursos menos úteis quand
 estiver desenvolvendo suas páginas.
 
 
-### Configuração do Título da Página <a name="setting-page-titles"></a>
+### Configuração do Título da Página <span id="setting-page-titles"></span>
 
 Cada página deve ter um título. Normalmente, a tag do título é colocada no início 
 de um [layout](#layouts). Mas na prática, o título é muitas vezes determinado 
@@ -679,7 +679,7 @@ E no layout, verifique se você tem o seguinte código sob o elemento `<head>`:
 ```
 
 
-### Registrando os Meta Tags <a name="registering-meta-tags"></a>
+### Registrando os Meta Tags <span id="registering-meta-tags"></span>
 
 As páginas Web geralmente precisam gerar vários meta tags necessários para 
 diferentes fins. Assim como os títulos, os meta tags precisam estar na seção 
@@ -718,7 +718,7 @@ $this->registerMetaTag(['name' => 'description', 'content' => 'This website is a
 ```
 
 
-### Registrando as Tags Link <a name="registering-link-tags"></a>
+### Registrando as Tags Link <span id="registering-link-tags"></span>
 
 Assim como os [meta tags](#registering-meta-tags), as tags link são úteis em muitos 
 casos, tais como a personalização do favicon, apontamento de feed RSS ou delegar 
@@ -748,7 +748,7 @@ você pode especificar uma chave quando chamar o método
 tags link repetidas.
 
 
-## Eventos da View (Visão) <a name="view-events"></a>
+## Eventos da View (Visão) <span id="view-events"></span>
 
 [[yii\base\View|Os componentes de view (visão)]] disparam vários eventos durante 
 o processo de renderização da view (visão). Você pode usar estes eventos para 
@@ -782,7 +782,7 @@ Por exemplo, o código a seguir insere a data atual no final do corpo da página
 ```
 
 
-## Renderizando Páginas Estáticas <a name="rendering-static-pages"></a>
+## Renderizando Páginas Estáticas <span id="rendering-static-pages"></span>
 
 Páginas estáticas referem-se a páginas cujo principal conteúdo é na maior parte 
 estática, sem a necessidade de acessar conteúdos dinâmicos pelos controllers 
@@ -837,7 +837,7 @@ sob o diretório `@app/views/site/pages`. Você pode configurar a propriedade
 serão procuradas. 
 
 
-## Boas Práticas <a name="best-practices"></a>
+## Boas Práticas <span id="best-practices"></span>
 
 As views (visões) são os responsáveis por apresentar modelos no formato que os 
 usuários finais desejarem. Em geral, as view (visões):
diff --git a/docs/guide-pt-BR/structure-widgets.md b/docs/guide-pt-BR/structure-widgets.md
index e0f5726..d6620cd 100644
--- a/docs/guide-pt-BR/structure-widgets.md
+++ b/docs/guide-pt-BR/structure-widgets.md
@@ -22,7 +22,7 @@ A seguir, iremos introduzir os conhecimentos básicos sobre os widgets. Por favo
 consulte a documentação de classes da API se você quiser saber mais sobre o uso de um determinado widget.
 
 
-## Usando Widgets <a name="using-widgets"></a>
+## Usando Widgets <span id="using-widgets"></span>
 
 Os widgets são usados principalmente nas [views (visões)](structure-views.md). 
 Você pode chamar o método [[yii\base\Widget::widget()]] para usar um widget em 
@@ -77,7 +77,7 @@ renderização de um widget, o método [[yii\base\Widget::begin()]] retorna uma
 instância do widget que pode ser usado para construir o seu conteúdo.
 
 
-## Criando Widgets <a name="creating-widgets"></a>
+## Criando Widgets <span id="creating-widgets"></span>
 
 Para criar um widget, estenda a classe [[yii\base\Widget]] e sobrescreva os 
 métodos [[yii\base\Widget::init()]] e/ou [[yii\base\Widget::run()]]. Normalmente, 
@@ -192,7 +192,7 @@ sobrescrever o método [[yii\base\Widget::getViewPath()]] para personalizar o
 diretório que conterá os arquivos de views (visões) do widget.
 
 
-## Boas Práticas <a name="best-practices"></a>
+## Boas Práticas <span id="best-practices"></span>
 
 Os widgets são uma maneira orientada a objetos de reutilizar códigos de view (visão).
 
diff --git a/docs/guide-ru/caching-data.md b/docs/guide-ru/caching-data.md
index 03cf032..d310fe5 100644
--- a/docs/guide-ru/caching-data.md
+++ b/docs/guide-ru/caching-data.md
@@ -23,7 +23,7 @@ if ($data === false) {
 ```
 
 
-## Компоненты кэширования <a name="cache-components"></a>
+## Компоненты кэширования <span id="cache-components"></span>
 
 Кэширование данных опирается на *компоненты кэширования*, которые представляют различные хранилища, такие как память,
 файлы и базы данных.
@@ -71,7 +71,7 @@ if ($data === false) {
   по умолчанию многими классами (например, [[yii\web\UrlManager]]).
    
    
-### Поддерживаемые хранилища <a name="supported-cache-storage"></a>
+### Поддерживаемые хранилища <span id="supported-cache-storage"></span>
 
 Yii поддерживает множество хранилищ кэша:
 
@@ -137,7 +137,7 @@ $value2 = $cache['var2'];  // эквивалентно: $value2 = $cache->get('v
 ```
 
 
-### Ключи кэша <a name="cache-keys"></a>
+### Ключи кэша <span id="cache-keys"></span>
 
 Каждый элемент данных, хранящийся в кэше, идентифицируется ключом. Когда вы сохраняете элемент данных в кэше, необходимо
 указать для него ключ. Позже, когда вы извлекаете элемент данных из кэша, вы должны предоставить соответствующий ключ.
@@ -174,7 +174,7 @@ $value2 = $cache['var2'];  // эквивалентно: $value2 = $cache->get('v
 Для обеспечения совместимости должны быть использованы только алфавитно-цифровые символы.
 
 
-### Срок действия кэша <a name="cache-expiration"></a>
+### Срок действия кэша <span id="cache-expiration"></span>
 
 Элементы данных, хранимые в кэше, остаются там навсегда если только они не будут удалены из-за особенностей
 функционирования хранилища (например, место для кэширования заполнено и старые данные удаляются). Чтобы изменить этот
@@ -196,7 +196,7 @@ if ($data === false) {
 ```
 
 
-### Зависимости кэша <a name="cache-dependencies"></a>
+### Зависимости кэша <span id="cache-dependencies"></span>
 
 В добавок к изменеию срока действия ключа, элемент может быть признан недействительным из-за *изменения зависимостей*.
 К примеру, [[yii\caching\FileDependency]] представляет собой зависимость от времени изменения файла. Когда это время
@@ -230,7 +230,7 @@ $data = $cache->get($key);
   аннулировать кэширование данных элементов с заданным тегом(тегами) по вызову. [[yii\caching\TagDependency::invalidate()]].
 
 
-## Кэширование запросов <a name="query-caching"></a>
+## Кэширование запросов <span id="query-caching"></span>
 
 Кэширование запросов - это специальная функция кэширования, построеная на основе кэширования данных.
 Она предназначена для кэширования результатов запросов к базе данных.
@@ -255,7 +255,7 @@ $result = $db->cache(function ($db) {
   запросов описанное выше, имеет преимущество, поскольку можно указать гибкие зависимости кэша и это более эффективно.
 
 
-### Конфигурации <a name="query-caching-configs"></a>
+### Конфигурации <span id="query-caching-configs"></span>
 
 Кэширование запросов имеет три глобальных конфигурационных параметра через [[yii\db\Connection]]:
 
@@ -269,7 +269,7 @@ $result = $db->cache(function ($db) {
   работает только если используется компонент приложения кэш.
 
 
-### Использование <a name="query-caching-usages"></a>
+### Использование <span id="query-caching-usages"></span>
 
 Вы можете использовать [[yii\db\Connection::cache()]], если у вас есть несколько SQL запросов, которые необходимо
 закэшировать:
@@ -336,7 +336,7 @@ $result = $db->cache(function ($db) {
 ```
 
 
-### Ограничения <a name="query-caching-limitations"></a>
+### Ограничения <span id="query-caching-limitations"></span>
 
 Кэширование запросов не работает с результатами запросов, которые содержат обработчики ресурсов. Например, при использовании
 типа столбца `BLOB` в некоторых СУБД, в качестве результата запроса будет выведен ресурс обработчик данных столбца.
diff --git a/docs/guide-ru/caching-fragment.md b/docs/guide-ru/caching-fragment.md
index a4fd662..8c0d612 100644
--- a/docs/guide-ru/caching-fragment.md
+++ b/docs/guide-ru/caching-fragment.md
@@ -22,11 +22,11 @@ if ($this->beginCache($id)) {
 Также как и [кэширование данных](caching-data.md), для кэширования фрагментов требуется уникальный идентификатор для определения кэшируемого фрагмента.
 
 
-## Параметры кэширования <a name="caching-options"></a>
+## Параметры кэширования <span id="caching-options"></span>
 
 Вызывая метод [[yii\base\View::beginCache()|beginCache()]], мы можем передать в качестве второго аргумента массив, содержащий параметры кэширования для управления кэшированием фрагмента. Заглядывая за кулисы, можно увидеть, что этот массив будет использоваться для настройки виджета [[yii\widgets\FragmentCache]], который реализует фактическое кэширование фрагментов.
 
-### Срок хранения <a name="duration"></a>
+### Срок хранения <span id="duration"></span>
 
 Наверное, наиболее часто используемым параметром является [[yii\widgets\FragmentCache::duration|duration]].
 Он определяет какое количество секунд содержимое будет оставаться действительным (корректным). Следующий код помещает фрагмент в кэш не более, чем на час:
@@ -43,7 +43,7 @@ if ($this->beginCache($id, ['duration' => 3600])) {
 Если мы не установим длительность (срок хранения), она будет равна значению по умолчанию (60 секунд). Это значит, что кэшированное содержимое станет недействительным через 60 секунд.
 
 
-### Зависимости <a name="dependencies"></a>
+### Зависимости <span id="dependencies"></span>
 
 Также как и [кэширование данных](caching-data.md#cache-dependencies), кэшируемое содержимое фрагмента тоже может иметь зависимости. Например, отображение содержимого сообщения зависит от того, изменено или нет это сообщение.
 
@@ -64,7 +64,7 @@ if ($this->beginCache($id, ['dependency' => $dependency])) {
 ```
 
 
-### Вариации <a name="variations"></a>
+### Вариации <span id="variations"></span>
 
 Кэшируемое содержимое может быть изменено в соответствии с некоторыми параметрами. Например, для веб-приложений, поддерживающих несколько языков, одна и та же часть кода может создавать содержимое на нескольких языках. Поэтому у вас может возникнуть желание кэшировать содержимое в зависимости от текущего языка приложения.
 
@@ -81,7 +81,7 @@ if ($this->beginCache($id, ['variations' => [Yii::$app->language]])) {
 ```
 
 
-### Переключение кэширования <a name="toggling-caching"></a>
+### Переключение кэширования <span id="toggling-caching"></span>
 
 Иногда может потребоваться включать кэширование фрагментов только для определённых условий. Например, страницу с формой мы хотим кэшировать только тогда, когда обращение к ней произошло впервые (посредством GET запроса). Любое последующее отображение формы (посредством POST запроса) не должно быть кэшировано, потому что может содержать данные, введённые пользователем. Для этого мы задаём параметр [[yii\widgets\FragmentCache::enabled|enabled]]:
 
@@ -95,7 +95,7 @@ if ($this->beginCache($id, ['enabled' => Yii::$app->request->isGet])) {
 ```
 
 
-## Вложенное кэширование <a name="nested-caching"></a>
+## Вложенное кэширование <span id="nested-caching"></span>
 
 Кэширование фрагментов может быть вложенным. Это значит, что кэшируемый фрагмент окружён более крупным фрагментом (содержится в нём), который также кэшируется. Например, комментарии кэшируются во внутреннем фрагменте кэша, и они же кэшируются вместе с содержимым сообщения во внешнем фрагменте кэша. Следующий код демонстрирует как два фрагмента кэша могут быть вложенными:
 
@@ -120,7 +120,7 @@ if ($this->beginCache($id1)) {
 Параметры кэширования могут быть различными для вложенных кэшей. Например, внутренний и внешний кэши в вышеприведённом примере могут иметь разные сроки хранения. Даже когда данные внешнего кэша уже не являются актуальными, внутренний кэш может содержать актуальный фрагмент. Тем не менее, обратное не верно. Если внешний кэш актуален, данные будут отдаваться из него даже если внутренний кэш содержит устаревшие данные. Следует проявлять осторожность при выставлении срока хранения и задания зависимостей для вложенных кэшей. В противном случае вы можете получить устаревшие данные.
 
 
-## Динамическое содержимое <a name="dynamic-content"></a>
+## Динамическое содержимое <span id="dynamic-content"></span>
 
 Когда используется кэширование фрагментов, вы можете столкнуться с ситуацией когда большой фрагмент содержимого статичен за исключением одного или нескольких мест. Например, заголовок страницы может отображаться в главном меню вместе с 
 именем текущего пользователя. Еще одна проблема в том, что содержимое, которое было закэшировано, может содержать PHP код, который должен выполняться для каждого запроса (например код для регистрации в asset bundle). Обе проблемы могут быть решены с помощью, так называемой функции *динамического содержимого*.
diff --git a/docs/guide-ru/caching-http.md b/docs/guide-ru/caching-http.md
index f05a7cf..86e96ea 100644
--- a/docs/guide-ru/caching-http.md
+++ b/docs/guide-ru/caching-http.md
@@ -10,7 +10,7 @@ HTTP кэширование
 * [[yii\filters\HttpCache::cacheControlHeader|Cache-Control]]
 
 
-## Заголовок `Last-Modified` <a name="last-modified"></a>
+## Заголовок `Last-Modified` <span id="last-modified"></span>
 
 Заголовок `Last-Modified` использует временную метку timestamp, чтобы показать была ли страница изменена после того, как клиент закэшировал её.
 
@@ -47,7 +47,7 @@ public function behaviors()
 генерирует `Last-Modified` HTTP заголовок на основе времени последнего сообщения. Когда браузер в первый раз посещает страницу `index`, то страница будет сгенерирована на сервере и отправлена в браузер; если браузер снова зайдёт на эту страницу и с тех пор ни один пост не обновится, то сервер не будет пересоздавать страницу и браузер будет использовать закэшированную на стороне клиента версию. В результате, будет пропущено как создание страницы на стороне сервера, так и передача содержания страницы клиенту.
 
 
-## Заголовок `ETag` <a name="etag"></a>
+## Заголовок `ETag` <span id="etag"></span>
 
 Заголовок "Entity Tag" (или коротко `ETag`) используется для передачи хэша содержания страницы. Если страница была изменена, то хэш страницы тоже изменится. Сравнивая хэш на стороне клиента с хэшем, генерируемым на стороне сервера, кэш может определить, была ли станица изменена и требуется ли её передавать заново.
 
@@ -94,7 +94,7 @@ ETags позволяет применять более сложные и/или 
   И если клиент отправляет как `If-None-Match` заголовок, так и `If-Modified-Since` заголовок, то только первый из них будет принят.
 
 
-## Заголовок `Cache-Control` <a name="cache-control"></a>
+## Заголовок `Cache-Control` <span id="cache-control"></span>
 
 Заголовок `Cache-Control` определяет общую политику кэширования страниц. Вы можете включить его отправку, настроив свойство [[yii\filters\HttpCache::cacheControlHeader]]. По-умолчанию будет отправлен следующий заголовок:
 
@@ -102,12 +102,12 @@ ETags позволяет применять более сложные и/или 
 Cache-Control: public, max-age=3600
 ```
 
-## Ограничитель кэша сессий <a name="session-cache-limiter"></a>
+## Ограничитель кэша сессий <span id="session-cache-limiter"></span>
 
 Когда на странице используются сессии, PHP автоматически отправляет некоторые связанные с кэшем HTTP заголовки, определённые в настройке `session.cache_limiter` в php.ini. Эти заголовки могут вмешиваться или отключать кэширование, которое вы ожидаете от `HttpCache`. Чтобы предотвратить эту проблему, по умолчанию `HttpCache` будет автоматически отключать отправку этих заголовков. Если вы хотите изменить это поведение, вы должны настроить свойство [[yii\filters\HttpCache::sessionCacheLimiter]]. Это свойство может принимать строковое значение, включая `public`, `private`, `private_no_expire` и `nocache`. Пожалуйста, обратитесь к руководству PHP о [session_cache_limiter()](http://www.php.net/manual/en/function.session-cache-limiter.php)
 для объяснения этих значений.
 
 
-## SEO подтекст <a name="seo-implications"></a>
+## SEO подтекст <span id="seo-implications"></span>
 
 Поисковые боты, как правило, с уважением относятся к заголовкам кэширования. Поскольку некоторые из поисковых систем имеют ограничение на количество страниц для одного домена, которые они обрабатывают в течение определенного промежутка времени, то предоставление заголовков кэширования может помочь индексации, поскольку будет уменьшено число обрабатываемых страниц.
diff --git a/docs/guide-ru/concept-aliases.md b/docs/guide-ru/concept-aliases.md
index e66aca3..75d3c19 100644
--- a/docs/guide-ru/concept-aliases.md
+++ b/docs/guide-ru/concept-aliases.md
@@ -7,7 +7,7 @@
 Yii framework, а `@web` можно использовать для получения базового URL текущего приложения.
 
 
-Создание псевдонимов <a name="defining-aliases"></a>
+Создание псевдонимов <span id="defining-aliases"></span>
 ----------------------------------------------
 
 Для создания псевдонима пути к файлу или URL используется метод [[Yii::setAlias()]]:
@@ -49,7 +49,7 @@ return [
 ```
 
 
-Преобразование псевдонимов <a name="resolving-aliases"></a>
+Преобразование псевдонимов <span id="resolving-aliases"></span>
 ----------------------------------------------------
 
 Метод [[Yii::getAlias()]] преобразует корневой псевдоним в путь к файлу или URL, который этот псевдоним представляет.
@@ -79,7 +79,7 @@ Yii::getAlias('@foo/bar/file.php');   // выведет: /path2/bar/file.php
 Если бы `@foo/bar` не был объявлен корневым псевдонимом, последняя строка вывела бы  `/path/to/foo/bar/file.php`.
 
 
-Использование псевдонимов <a name="using-aliases"></a>
+Использование псевдонимов <span id="using-aliases"></span>
 ------------------------------------------------
 
 Псевдонимы распознаются во многих частях Yii без необходимости предварительно вызывать [[Yii::getAlias()]] для
@@ -97,7 +97,7 @@ $cache = new FileCache([
 Для того, чтобы узнать поддерживает ли метод или свойство псевдонимы, обратитесь к документации API.
 
 
-Заранее определённые псевдонимы <a name="predefined-aliases"></a>
+Заранее определённые псевдонимы <span id="predefined-aliases"></span>
 ----------------------------------------------------------
 
 В Yii заранее определены псевдонимы для часто используемых путей к файлам и URL:
@@ -113,7 +113,7 @@ $cache = new FileCache([
 Остальные псевдонимы задаются в конструкторе приложения в момент применения [конфигурации](concept-configurations.md).
 
 
-Псевдонимы расширений <a name="extension-aliases"></a>
+Псевдонимы расширений <span id="extension-aliases"></span>
 ------------------------------------------------
 
 Для каждого [расширения](structure-extensions.md), устанавливаемого через Composer, автоматически задаётся псевдоним.
diff --git a/docs/guide-ru/concept-autoloading.md b/docs/guide-ru/concept-autoloading.md
index ce44227..30d6a71 100644
--- a/docs/guide-ru/concept-autoloading.md
+++ b/docs/guide-ru/concept-autoloading.md
@@ -9,7 +9,7 @@
 > Примечание: Для простоты повествования, в этом разделе мы будем говорить только об автозагрузке классов. Тем не менее,
   всё описанное применимо к интерфейсам и трейтам.
 
-Как использовать автозагрузчик Yii <a name="using-yii-autoloader"></a>
+Как использовать автозагрузчик Yii <span id="using-yii-autoloader"></span>
 --------------------------------------------------------------
 
 При использовании автозагрузчика классов Yii следует соблюдать два простых правила создания и именования классов:
@@ -38,7 +38,7 @@ $classFile = Yii::getAlias('@' . str_replace('\\', '/', $className) . '.php');
 классы будут загружены автоматически.
 
 
-Карта классов <a name="class-map"></a>
+Карта классов <span id="class-map"></span>
 ---------------------------------
 
 Автозагрузчик Yii поддерживает *карту классов*. Эта возможность позволяет указать путь к файлу для каждого имени класса.
@@ -57,7 +57,7 @@ Yii::$classMap['foo\bar\MyClass'] = 'path/to/MyClass.php';
 использования классов.
 
 
-Использование других автозагрузчиков <a name="using-other-autoloaders"></a>
+Использование других автозагрузчиков <span id="using-other-autoloaders"></span>
 ------------------------------------------------------------------
 
 Так как Yii использует Composer в качестве менеджера зависимостей, рекомендуется дополнительно установить его автозагрузчик.
@@ -81,7 +81,7 @@ require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
   и подключите его в [входном скрипте](structure-entry-scripts.md).
 
 
-Автозагрузка классов расширений <a name="autoloading-extension-classes"></a>
+Автозагрузка классов расширений <span id="autoloading-extension-classes"></span>
 -------------------------------------------------------------------
 
 Автозагрузчик Yii может автоматически загружать классы [расширений](structure-extensions.md) в том случае, если соблюдается
diff --git a/docs/guide-ru/concept-behaviors.md b/docs/guide-ru/concept-behaviors.md
index 1efc106..9d4ce78 100644
--- a/docs/guide-ru/concept-behaviors.md
+++ b/docs/guide-ru/concept-behaviors.md
@@ -10,7 +10,7 @@
 обычное выполнение кода компонента.
 
 
-Создание поведений <a name="defining-behaviors"></a>
+Создание поведений <span id="defining-behaviors"></span>
 ----------------------------------------------
 
 Поведения создаются путем расширения базового класса [[yii\base\Behavior]] или его наследников. Например,
@@ -101,7 +101,7 @@ function ($event) {
 }
 ```
 
-Прикрепление поведений <a name="attaching-behaviors"></a>
+Прикрепление поведений <span id="attaching-behaviors"></span>
 ---------------------------------------------------
 
 Прикрепить поведение к [[yii\base\Component|компоненту]] можно как статически, так и динамически. На практике
@@ -198,7 +198,7 @@ $component->attachBehaviors([
 
 Более детальная информация приведена в разделе [Конфигурации](concept-configurations.md#configuration-format).
 
-Использование поведений <a name="using-behaviors"></a>
+Использование поведений <span id="using-behaviors"></span>
 ------------------------------------------------
 
 Для использования поведения, его необходимо прикрепить к [[yii\base\Component|компоненту]] как описано выше. После того,
@@ -238,7 +238,7 @@ $behavior = $component->getBehavior('myBehavior');
 $behaviors = $component->getBehaviors();
 ```
 
-Отвязывание поведений<a name="detaching-behaviors"></a>
+Отвязывание поведений<span id="detaching-behaviors"></span>
 -------------------------------------------------
 
 Чтобы отвязать поведение от компонента, необходимо вызвать метод [[yii\base\Component::detachBehavior()]], указав имя,
@@ -255,7 +255,7 @@ $component->detachBehaviors();
 ```
 
 
-Использование поведения `TimestampBehavior` <a name="using-timestamp-behavior"></a>
+Использование поведения `TimestampBehavior` <span id="using-timestamp-behavior"></span>
 --------------------------------------------------------------------------
 
 В заключении, давайте посмотрим на [[yii\behaviors\TimestampBehavior]] — поведение, которое позволяет автоматически
@@ -312,7 +312,7 @@ $user->touch('login_time');
 ```
 
 
-Сравнение с трейтами <a name="comparison-with-traits"></a>
+Сравнение с трейтами <span id="comparison-with-traits"></span>
 ---------------------------------------------------
 
 Несмотря на то, что поведения схожи с [трейтами](http://ru2.php.net/manual/ru/language.oop5.traits.php) тем, что 
@@ -320,7 +320,7 @@ $user->touch('login_time');
 и, скорее, дополняют друг друга, а не заменяют.
 
 
-### Плюсы поведений <a name="pros-for-behaviors"></a>
+### Плюсы поведений <span id="pros-for-behaviors"></span>
 
 Поведения, как и любые другие классы, поддерживают наследование. Трейты же можно рассматривать как копипейст
 на уровне языка. Они наследование не поддерживают.
@@ -336,7 +336,7 @@ $user->touch('login_time');
 Конфликты имен, вызванные различными трейтами, требуют ручного переименования конфликтующих свойств или методов.
 
 
-### Плюсы трейтов <a name="pros-for-traits"></a>
+### Плюсы трейтов <span id="pros-for-traits"></span>
 
 Трейты являются гораздо более производительными, чем поведения, которые, являясь объектами, требуют 
 дополнительного времени и памяти.
diff --git a/docs/guide-ru/concept-configurations.md b/docs/guide-ru/concept-configurations.md
index 4723847..ccd2d7a 100644
--- a/docs/guide-ru/concept-configurations.md
+++ b/docs/guide-ru/concept-configurations.md
@@ -33,7 +33,7 @@ Yii::configure($object, $config);
 Обратите внимание, что в этом случае массив с конфигурацией не должен содержать ключ `class`.
 
 
-## Формат конфигурации <a name="configuration-format"></a>
+## Формат конфигурации <span id="configuration-format"></span>
 
 Формат конфигурации выглядит следующим образом:
 
@@ -77,7 +77,7 @@ Yii::configure($object, $config);
 ```
 
 
-## Использование конфигурации <a name="using-configurations"></a>
+## Использование конфигурации <span id="using-configurations"></span>
 
 Конфигурации повсеместно используются в Yii. В самом начале данной главы мы узнали как
 создать объект с необходимыми параметрами используя метод [[Yii::createObject()]].
@@ -85,7 +85,7 @@ Yii::configure($object, $config);
 использования конфигурации. 
 
 
-### Конфигурация приложения <a name="application-configurations"></a>
+### Конфигурация приложения <span id="application-configurations"></span>
 
 Конфигурация [приложения](structure-applications.md), пожалуй, самая сложная из используемых в фреймворке.
 Причина в том, что класс [[yii\web\Application|application]] содержит большое количество конфигурируемых
@@ -136,7 +136,7 @@ $config = [
 [приложения](structure-applications.md) и [Service Locator](concept-service-locator.md).
 
 
-### Конфигурации виджетов <a name="widget-configurations"></a>
+### Конфигурации виджетов <span id="widget-configurations"></span>
 
 При использовании [виджетов](structure-widgets.md) часто возникает необходимость изменить параметры виджета с помощью
 конфигурации. Для создания виджета можно использовать два метода: [[yii\base\Widget::widget()]] и 
@@ -161,7 +161,7 @@ echo Menu::widget([
 Обратите внимание что параметр `class` НЕ передается, так как полное имя уже указано.
 
 
-## Конфигурационные файлы <a name="configuration-files"></a>
+## Конфигурационные файлы <span id="configuration-files"></span>
 
 Если конфигурация очень сложная, то её, как правило, разделяют по нескольким PHP файлам. Такие файлы называют
 *Конфигурационными файлами*. Конфигурационный файл возвращает массив PHP являющийся конфигурацией.
@@ -215,7 +215,7 @@ $config = require('path/to/web.php');
 ```
 
 
-## Значения конфигурации по умолчанию <a name="default-configurations"></a>
+## Значения конфигурации по умолчанию <span id="default-configurations"></span>
 
 Метод [[Yii::createObject()]] реализован с использованием [dependency injection container](concept-di-container.md).
 Это позволяет задавать так называемые *значения конфигурации по умолчанию*, которые будут применены ко ВСЕМ экземплярам классов во время их инициализации методом [[Yii::createObject()]]. Значения конфигурации по умолчанию указываются с помощью метода `Yii::$container->set()` на этапе [предварительной загрузки](runtime-bootstrapping.md).
@@ -233,7 +233,7 @@ $config = require('path/to/web.php');
 задавать значение `maxButtonCount`.
 
 
-## Константы окружения <a name="environment-constants"></a>
+## Константы окружения <span id="environment-constants"></span>
 
 Конфигурации могут различаться в зависимости от режима, в котором происходит запуск приложения. Например,
 в окружении разработчика (development) вы используете базу данных `mydb_dev`, а в эксплуатационном (production) окружении
diff --git a/docs/guide-ru/concept-di-container.md b/docs/guide-ru/concept-di-container.md
index 7806f88..4d23a46 100644
--- a/docs/guide-ru/concept-di-container.md
+++ b/docs/guide-ru/concept-di-container.md
@@ -7,7 +7,7 @@
 
 
 
-Внедрение зависимостей <a name="dependency-injection"></a>
+Внедрение зависимостей <span id="dependency-injection"></span>
 --------------------
 
 Yii обеспечивает функционал контейнера внедрения зависимостей через класс [[yii\di\Container]]. Он поддерживает следующие виды внедрения зависимостей:
@@ -17,7 +17,7 @@ Yii обеспечивает функционал контейнера внед�
 * Внедрение зависимости через PHP callback.
 
 
-### Внедрение зависимости через конструктор <a name="constructor-injection"></a>
+### Внедрение зависимости через конструктор <span id="constructor-injection"></span>
 
 Контейнер внедрения зависимостей поддерживает внедрение зависимости через конструктор при помощи указания типов для параметров конструктора.
 Указанные типы сообщают контейнеру, какие классы или интерфейсы зависят от него при создании нового объекта.
@@ -38,7 +38,7 @@ $foo = new Foo($bar);
 ```
 
 
-### Внедрение зависимости через сеттер и свойство <a name="setter-and-property-injection"></a>
+### Внедрение зависимости через сеттер и свойство <span id="setter-and-property-injection"></span>
 
 Внедрение зависимости через сеттер и свойство поддерживается через [конфигурации](concept-configurations.md).
 При регистрации зависимости или при создании нового объекта, вы можете предоставить конфигурацию, которая
@@ -72,7 +72,7 @@ $container->get('Foo', [], [
 ```
 
 
-### Внедрение зависимости через PHP callback <a name="php-callable-injection"></a>
+### Внедрение зависимости через PHP callback <span id="php-callable-injection"></span>
 
 В данном случае, контейнер будет использовать зарегистрированный PHP callback для создания новых экземпляров класса.
 Callback отвечает за разрешения зависимостей и внедряет их в соответствии с вновь создаваемыми объектами. Например,
@@ -86,7 +86,7 @@ $foo = $container->get('Foo');
 ```
 
 
-Регистрация зависимостей <a name="registering-dependencies"></a>
+Регистрация зависимостей <span id="registering-dependencies"></span>
 ------------------------
 
 Вы можете использовать [[yii\di\Container::set()]] для регистрации зависимостей. При регистрации требуется имя зависимости, а так же определение зависимости. 
@@ -152,7 +152,7 @@ $container->setSingleton('yii\db\Connection', [
 ```
 
 
-Разрешение зависимостей <a name="resolving-dependencies"></a>
+Разрешение зависимостей <span id="resolving-dependencies"></span>
 ----------------------
 После регистрации зависимостей, вы можете использовать контейнер внедрения зависимостей для создания новых объектов,
 и контейнер автоматически разрешит зависимости их экземпляра и их внедрений во вновь создаваемых объектах. Разрешение зависимостей рекурсивно, то есть
@@ -235,7 +235,7 @@ $lister = new UserLister($finder);
 ```
 
 
-Практическое использование <a name="practical-usage"></a>
+Практическое использование <span id="practical-usage"></span>
 ---------------
 
 Yii создаёт контейнер внедрения зависимостей когда вы подключаете файл `Yii.php` во [входном скрипте](structure-entry-scripts.md)
@@ -294,7 +294,7 @@ class HotelController extends Controller
 Теперь, если вы попытаетесь получить доступ к контроллеру снова, то экземпляр `app\components\BookingService` будет создан и введён в качестве 3-го параметра конструктора контроллера.
 
 
-Когда следует регистрировать зависимости <a name="when-to-register-dependencies"></a>
+Когда следует регистрировать зависимости <span id="when-to-register-dependencies"></span>
 -----------------------------
 
 Поскольку зависимости необходимы тогда, когда создаются новые объекты, то их регистрация должна быть сделана
@@ -304,7 +304,7 @@ class HotelController extends Controller
 * Если вы разработчик распространяемого [расширения](structure-extensions.md), то вы можете зарегистрировать зависимости в загрузочном классе расширения.
 
 
-Итог <a name="summary"></a>
+Итог <span id="summary"></span>
 -------
 Как dependency injection, так и [service locator](concept-service-locator.md) являются популярными паттернами проектирования, которые позволяют 
 создавать программное обеспечение в слабосвязанной и более тестируемой манере.
diff --git a/docs/guide-ru/concept-events.md b/docs/guide-ru/concept-events.md
index 78d62ef..8e2b9f9 100644
--- a/docs/guide-ru/concept-events.md
+++ b/docs/guide-ru/concept-events.md
@@ -6,7 +6,7 @@
 Для работы с событиями Yii использует базовый класс [[yii\base\Component]]. Если класс должен инициировать события, его нужно унаследовать от [[yii\base\Component]] или потомка этого класса.
 
 
-Обработчики событий <a name="event-handlers"></a>
+Обработчики событий <span id="event-handlers"></span>
 --------------
 
 Обработчик события - это [callback-функция PHP](http://www.php.net/manual/ru/language.types.callable.php), которая выполняется при срабатывании события, к которому она присоединена. Можно использовать следующие callback-функции:
@@ -31,7 +31,7 @@ function ($event) {
 - [[yii\base\Event::data|custom data]]: данные, которые были предоставлены во время присоединения обработчика события (будет описано ниже)
 
 
-Присоединение обработчиков событий <a name="attaching-event-handlers"></a>
+Присоединение обработчиков событий <span id="attaching-event-handlers"></span>
 ------------------------
 
 Обработчики события присоединяются с помощью метода [[yii\base\Component::on()]]. Например:
@@ -90,7 +90,7 @@ $foo->on(Foo::EVENT_HELLO, function ($event) {
 }, $data, false);
 ```
 
-Инициирование событий <a name="triggering-events"></a>
+Инициирование событий <span id="triggering-events"></span>
 -----------------
 
 События инициируются при вызове метода [[yii\base\Component::trigger()]]. Методу нужно передать *имя события*, а при необходимости - объект события, в котором описываются параметры, передаваемые обработчикам событий. Например:
@@ -147,7 +147,7 @@ class Mailer extends Component
 При вызове метода [[yii\base\Component::trigger()]] будут вызваны все обработчики, присоединенные к указанному событию.
 
 
-Отсоединение обработчиков событий <a name="detaching-event-handlers"></a>
+Отсоединение обработчиков событий <span id="detaching-event-handlers"></span>
 ------------------------
 
 Для отсоединения обработчика от события используется метод [[yii\base\Component::off()]]. Например:
@@ -175,7 +175,7 @@ $foo->off(Foo::EVENT_HELLO);
 ```
 
 
-Обработчики событий на уровне класса <a name="class-level-event-handlers"></a>
+Обработчики событий на уровне класса <span id="class-level-event-handlers"></span>
 --------------------------
 
 Во всех предыдущих примерах мы рассматривали присоединение событий *на уровне экземпляров*. Есть случаи, когда необходимо обрабатывать события, которые инициируются *любым* экземпляром класса, а не только конкретным экземпляром. В таком случае присоединять обработчик события к каждому экземпляру класса не нужно. Достаточно присоединить обработчик *на уровне класса*, вызвав статический метод [[yii\base\Event::on()]].
@@ -223,7 +223,7 @@ Event::off(Foo::className(), Foo::EVENT_HELLO);
 ```
 
 
-Глобальные события <a name="global-events"></a>
+Глобальные события <span id="global-events"></span>
 -------------
 
 Yii поддерживает так называемые *глобальные события*, которые на самом деле основаны на нестандартном использовании описанного выше механизма событий. Для глобальных событий нужен глобально доступный объект-синглетон, например, экземпляр приложения - [application](structure-applications.md).
diff --git a/docs/guide-ru/input-validation.md b/docs/guide-ru/input-validation.md
index c80ca63..1d45d8e 100644
--- a/docs/guide-ru/input-validation.md
+++ b/docs/guide-ru/input-validation.md
@@ -20,7 +20,7 @@ if ($model->validate()) {
 ```
 
 
-## Правила проверки <a name="declaring-rules"></a>
+## Правила проверки <span id="declaring-rules"></span>
 
 Для того, чтобы  `validate()` действительно работал, нужно объявить правила проверки атрибутов.
 Правила для проверки нужно указать в методе `[[yii\base\Model::rules()]]`. В следующем примере показано, как
@@ -90,7 +90,7 @@ public function rules()
 объявленными в `rules()`.
 
 
-### Настройка сообщений об ошибках <a name="customizing-error-messages"></a>
+### Настройка сообщений об ошибках <span id="customizing-error-messages"></span>
 
 Большинство валидаторов имеют сообщения об ошибках по умолчанию, которые будут добавлены к модели когда его атрибуты не проходят проверку.
 Например, `[[yii\validators\RequiredValidator|required]]` валидатор добавил к модели сообщение об ошибке "Имя пользователя не может быть пустым." когда атрибут `username` не удовлетворил правила этого валидатора.
@@ -113,7 +113,7 @@ public function rules()
 Вы можете настроить эти сообщения об ошибках, как в настройках валидаторов, так и непосредственно в правилах проверки.
 
 
-### События валидации <a name="validation-events"></a>
+### События валидации <span id="validation-events"></span>
 
 Когда вызывается метод `[[yii\base\Model::validate()]]` он инициализирует вызов двух методов,
 которые можно переопределить, чтобы настроить процесс проверки:
@@ -123,7 +123,7 @@ public function rules()
 * `[[yii\base\Model::afterValidate()]]`: выполнение по умолчанию вызовет  `[[yii\base\Model::EVENT_AFTER_VALIDATE]]`
   событие. Вы можете либо переопределить этот метод или обрабатывать это событие, чтобы сделать некоторую  постобработку данных(Например, отформатировать данные удобным для дальнейшей обработки образом), метод вызывается после валидации.
 
-### Условные валидации <a name="conditional-validation"></a>
+### Условные валидации <span id="conditional-validation"></span>
 
 Для проверки атрибутов только при выполнении определенных условий, например если один атрибут зависит от значения другого атрибута можно использовать `[[yii\validators\Validator::when|when]]` свойство, чтобы определить такие условия. Например:
 
@@ -161,7 +161,7 @@ function ($model, $attribute)
 ```
 
 
-### Фильтрация данных <a name="data-filtering"></a>
+### Фильтрация данных <span id="data-filtering"></span>
 
 Пользователь частво вводит данные которые нужно предварительно отфильтровать или предварительно обработать(очистить).
 Например, вы хотите обрезать пробелы вокруг `username`. Вы можете использовать правила валидации для 
@@ -185,7 +185,7 @@ function ($model, $attribute)
 они будут обрабатывать значения и обратно возвращать результат работы. Фильтры по сути выполняют предобработку входящих данных.
 
 
-### Обработка пустых входных данных <a name="handling-empty-inputs"></a>
+### Обработка пустых входных данных <span id="handling-empty-inputs"></span>
 
 Если входные данные представлены из HTML-формы, часто нужно присвоить некоторые значения 
 по умолчанию для входных данных, если они не заполнены. Вы можете сделать это с помощью 
@@ -220,7 +220,7 @@ function ($model, $attribute)
   `required`, и `trim` будут обрабатывать пустые входные данные.
 
 
-## Специальная валидация <a name="ad-hoc-validation"></a>
+## Специальная валидация <span id="ad-hoc-validation"></span>
 
 Иногда вам нужно сделать специальную валидацию для значений, которые не связаны с какой-либо модели.
 
@@ -291,13 +291,13 @@ public function actionSearch($name, $email)
 `$model->name` и `$model->email`.
 
 
-## Создание Валидаторов <a name="creating-validators"></a>
+## Создание Валидаторов <span id="creating-validators"></span>
 
 Кроме того, используя [основные валидаторы](tutorial-core-validators.md), включенные в релизы Yii, вы также можете 
 создавать свои собственные валидаторы. Вы можете создавать встроенные валидаторы или автономные валидаторы.
 
 
-### Встроенные Валидаторы <a name="inline-validators"></a>
+### Встроенные Валидаторы <span id="inline-validators"></span>
 
 Встроенный валидатор наследует методы модели или использует анонимную функцию.
 Описание метода/функции:
@@ -361,7 +361,7 @@ class MyForm extends Model
 > ```
 
 
-### Автономные валидаторы <a name="standalone-validators"></a>
+### Автономные валидаторы <span id="standalone-validators"></span>
 
 Автономный валидатор - это класс, расширяющий `[[yii\validators\Validator]]` или его дочерних класс.
 Вы можете реализовать свою логику проверки путем переопределения метода
@@ -392,7 +392,7 @@ class CountryValidator extends Validator
 реализуются путем вызова `validateValue()`.
 
 
-## Валидация на строне клиента <a name="client-side-validation"></a>
+## Валидация на строне клиента <span id="client-side-validation"></span>
 
 Проверка на стороне клиента на основе JavaScript целесообразна, когда конечные пользователи вводят 
 входные данные через HTML-формы, так как эта проверка позволяет пользователям узнать, ошибки ввода 
@@ -406,7 +406,7 @@ class CountryValidator extends Validator
 как описано в предыдущих пунктах.
 
 
-### Использование валидации на стороне клиента <a name="using-client-side-validation"></a>
+### Использование валидации на стороне клиента <span id="using-client-side-validation"></span>
 
 Многие [основные валидаторы](tutorial-core-validators.md) поддерживают проверку на стороне клиента out-of-the-box.
 Все, что вам нужно сделать, это просто использовать `[[yii\widgets\ActiveForm]]` для построения HTML-форм.
@@ -471,7 +471,7 @@ HTML-форма построена с помощью следующего код
 `[[yii\widgets\ActiveField::enableClientValidation]]` установив значение false.
 
 
-### Реализация проверки на стороне клиента <a name="implementing-client-side-validation"></a>
+### Реализация проверки на стороне клиента <span id="implementing-client-side-validation"></span>
 
 Чтобы создать валидатор, который поддерживает проверку на стороне клиента, вы должны реализовать метод 
 `[[yii\validators\Validator::clientValidateAttribute()]]` возвращающий фрагмент кода JavaScript, 
@@ -532,7 +532,7 @@ JS;
 > ]
 > ```
 
-### Отложенная валидация <a name="deferred-validation"></a>
+### Отложенная валидация <span id="deferred-validation"></span>
 
 Если Вам необходимо выполнить асинхронную проверку на стороне клиента, вы можете создавать 
 [Deferred objects](http://api.jquery.com/category/deferred-object/). Например, чтобы выполнить 
@@ -609,7 +609,7 @@ JS;
 ```
 
 
-### AJAX валидация <a name="ajax-validation"></a>
+### AJAX валидация <span id="ajax-validation"></span>
 
 Некоторые проверки можно сделать только на стороне сервера, потому что только сервер имеет необходимую информацию.
 Например, чтобы проверить логин пользователя на уникальность, необходимо проверить логин в 
diff --git a/docs/guide-ru/rest-authentication.md b/docs/guide-ru/rest-authentication.md
index 304deeb..84b89b5 100644
--- a/docs/guide-ru/rest-authentication.md
+++ b/docs/guide-ru/rest-authentication.md
@@ -114,7 +114,7 @@ class User extends ActiveRecord implements IdentityInterface
 (такими, как заголовок `WWW-Authenticate` для HTTP Basic Auth).
 
 
-## Авторизация <a name="authorization"></a>
+## Авторизация <span id="authorization"></span>
 
 После аутентификации пользователя вы, вероятно, захотите проверить, есть ли у него или у неё разрешение на выполнение запрошенного
 действия с запрошенным ресурсом. Этот процесс называется *авторизацией* и подробно описан
diff --git a/docs/guide-ru/rest-controllers.md b/docs/guide-ru/rest-controllers.md
index 15d61b2..b702482 100644
--- a/docs/guide-ru/rest-controllers.md
+++ b/docs/guide-ru/rest-controllers.md
@@ -25,7 +25,7 @@
 * Авторизация пользователя для запрашиваемых действия и ресурса.
 
 
-## Создание классов контроллеров <a name="creating-controller"></a>
+## Создание классов контроллеров <span id="creating-controller"></span>
 
 При создании нового класса контроллера в имени класса обычно используется
 название типа ресурса в единственном числе. Например, контроллер, отвечающий за предоставление информации о пользователях,
@@ -45,7 +45,7 @@ public function actionView($id)
 ```
 
 
-## Фильтры <a name="filters"></a>
+## Фильтры <span id="filters"></span>
 
 Большинство возможностей RESTful API, предоставляемых [[yii\rest\Controller]], реализовано на основе [фильтров](structure-filters.md).
 В частности, следующие фильтры будут выполняться в том порядке, в котором они перечислены:
@@ -77,14 +77,14 @@ public function behaviors()
 ```
 
 
-## Наследование от `ActiveController` <a name="extending-active-controller"></a>
+## Наследование от `ActiveController` <span id="extending-active-controller"></span>
 
 Если ваш класс контроллера наследуется от [[yii\rest\ActiveController]], вам следует установить
 значение его свойства [[yii\rest\ActiveController::modelClass||modelClass]] равным имени класса ресурса,
 который вы планируете обслуживать с помощью этого контроллера. Класс ресурса должен быть унаследован от [[yii\db\ActiveRecord]].
 
 
-### Настройка действий <a name="customizing-actions"></a>
+### Настройка действий <span id="customizing-actions"></span>
 
 По умолчанию [[yii\rest\ActiveController]] предоставляет набор из следующих действий:
 
@@ -121,7 +121,7 @@ public function prepareDataProvider()
 Чтобы узнать, какие опции доступны для настройки классов отдельных действий, обратитесь к соответствующим разделам справочника классов.
 
 
-### Выполнение контроля доступа <a name="performing-access-check"></a>
+### Выполнение контроля доступа <span id="performing-access-check"></span>
 
 При предоставлении ресурсов через RESTful API часто бывает нужно проверять, имеет ли текущий пользователь разрешение
 на доступ к запрошенному ресурсу (или ресурсам) и манипуляцию им (или ими). Для [[yii\rest\ActiveController]] эта задача
diff --git a/docs/guide-ru/rest-quick-start.md b/docs/guide-ru/rest-quick-start.md
index 61e6202..ad3655f 100644
--- a/docs/guide-ru/rest-quick-start.md
+++ b/docs/guide-ru/rest-quick-start.md
@@ -22,7 +22,7 @@ Yii включает полноценный набор средств для у�
 вами была ранее создана модель [[yii\db\ActiveRecord|ActiveRecord]]  (класс `app\models\User`).
 
 
-## Создание контроллера <a name="creating-controller"></a>
+## Создание контроллера <span id="creating-controller"></span>
 
 Во-первых, создадим класс контроллера `app\controllers\UserController`:
 
@@ -42,7 +42,7 @@ class UserController extends ActiveController
 выборки данных.
 
 
-## Настройка правил URL <a name="configuring-url-rules"></a>
+## Настройка правил URL <span id="configuring-url-rules"></span>
 
 Далее изменим настройки компонента `urlManager` в конфигурации приложения:
 
@@ -60,7 +60,7 @@ class UserController extends ActiveController
 Настройки выше добавляет правило для контроллера `user`, которое предоставляет доступ к данным пользователя через красивые
 URL и логичные глаголы HTTP.
 
-## Пробуем <a name="trying-it-out"></a>
+## Пробуем <span id="trying-it-out"></span>
 
 Вот так просто мы и создали RESTful API для доступа к данным пользователя. Api нашего сервиса, сейчас включает в себя:
 
@@ -159,7 +159,7 @@ Content-Type: application/xml
 > описано в разделе «[Форматирование ответа](rest-response-formatting.md)».
 
 
-## Резюме <a name="summary"></a>
+## Резюме <span id="summary"></span>
 
 Используя Yii в качестве RESTful API фреймворка, мы используем реализуем точки входа API как действия контроллеров.
 Контроллер используется для организации действий, которые относятся к определённому типу ресурса.
diff --git a/docs/guide-ru/rest-resources.md b/docs/guide-ru/rest-resources.md
index 9920c92..c383083 100644
--- a/docs/guide-ru/rest-resources.md
+++ b/docs/guide-ru/rest-resources.md
@@ -17,7 +17,7 @@ RESTful API строятся вокруг доступа к *ресурсам* �
 [[yii\base\Model]], возвращаются всего его public свойства.
 
 
-## Поля <a name="fields"></a>
+## Поля <span id="fields"></span>
 
 Когда ресурс включается в ответ RESTful API, необходимо сеарилизовать его в строку. Yii разбивает этот процесс на два этапа.
 Сначала ресурс конвертируется в массив при помощи [[yii\rest\Serializer]]. На втором этапе массив сеарилизуется в строку
@@ -44,7 +44,7 @@ http://localhost/users?fields=id,email&expand=profile
 ```
 
 
-### Переопределение `fields()` <a name="overriding-fields"></a>
+### Переопределение `fields()` <span id="overriding-fields"></span>
 
 По умолчанию, [[yii\base\Model::fields()]] возвращает все атрибуты модели как поля, а
 [[yii\db\ActiveRecord::fields()]] возвращает только те атрибуты, которые были объявлены в схеме БД.
@@ -89,7 +89,7 @@ public function fields()
 > `fields()`. В приведённом выше примере мы исключаем `auth_key`, `password_hash` и `password_reset_token`.
 
 
-### Переопределение `extraFields()` <a name="overriding-extra-fields"></a>
+### Переопределение `extraFields()` <span id="overriding-extra-fields"></span>
 
 По умолчанию, [[yii\base\Model::extraFields()]] ничего не возвращает, а [[yii\db\ActiveRecord::extraFields()]]
 возвращает названия заданных в БД связей.
@@ -126,7 +126,7 @@ public function extraFields()
 ```
 
 
-## Ссылки <a name="links"></a>
+## Ссылки <span id="links"></span>
 
 Согласно [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS), расшифровывающемуся как Hypermedia as the Engine of Application State,
 RESTful API должны возвращать достаточно информации для того, чтобы клиенты могли определить возможные действия над ресурсами.
@@ -167,7 +167,7 @@ class User extends ActiveRecord implements Linkable
 ```
 
 
-## Коллекции <a name="collections"></a>
+## Коллекции <span id="collections"></span>
 
 Объекты ресурсов могут группироваться в *коллекции*. Каждая коллекция содержит список объектов ресурсов одного типа.
 
diff --git a/docs/guide-ru/rest-response-formatting.md b/docs/guide-ru/rest-response-formatting.md
index 7f23688..6e87aba 100644
--- a/docs/guide-ru/rest-response-formatting.md
+++ b/docs/guide-ru/rest-response-formatting.md
@@ -12,7 +12,7 @@
    [[yii\web\Response::formatters|response]].
 
 
-## Согласование содержимого <a name="content-negotiation"></a>
+## Согласование содержимого <span id="content-negotiation"></span>
 
 Yii поддерживает согласование содержимого с помощью фильтра [yii\filters\ContentNegotiator]]. Базовый класс
 контроллера RESTful API - [[yii\rest\Controller]] - использует этот фильтр под именем `contentNegotiator`.
@@ -80,7 +80,7 @@ public function behaviors()
 форматов ответа, которые установлены в [[yii\web\Response::formatters]].
 
 
-## Сериализация данных <a name="data-serializing"></a>
+## Сериализация данных <span id="data-serializing"></span>
 
 Как уже описывалось выше, [[yii\rest\Serializer]] - это центральное место, отвечающее за конвертацию объектов ресурсов
 или коллекций в массивы. Он реализует интерфейсы [[yii\base\ArrayableInterface]] и [[yii\data\DataProviderInterface]].
diff --git a/docs/guide-ru/runtime-requests.md b/docs/guide-ru/runtime-requests.md
index eee2bec..3e6e608 100644
--- a/docs/guide-ru/runtime-requests.md
+++ b/docs/guide-ru/runtime-requests.md
@@ -4,7 +4,7 @@
 Запросы, сделанные к приложению, представлены в терминах [[yii\web\Request]] объектов, которые предоставляют информацию о параметрах запроса, HTTP заголовках, cookies и т.д. Для получения доступа к текущему запросу вы должны обратиться к объекту `request` [application component](structure-application-components.md), который по умолчанию является экземпляром [[yii\web\Request]].
 
 
-## Параметры запроса <a name="request-parameters"></a>
+## Параметры запроса <span id="request-parameters"></span>
 
 Чтобы получить параметры запроса, вы должны вызвать методы [[yii\web\Request::get()|get()]] и [[yii\web\Request::post()|post()]] компонента `request`. Они возвращают значения переменных `$_GET` и `$_POST` соответственно. Например,
 
@@ -50,7 +50,7 @@ $param = $request->getBodyParam('id');
   Вы можете настроить способ обработки этих параметров через настройку свойства [[yii\web\Request::parsers]].
   
 
-## Методы запроса <a name="request-methods"></a>
+## Методы запроса <span id="request-methods"></span>
 
 Вы можете получить названия HTTP метода, используемого в текущем запросе, обратившись к выражению  `Yii::$app->request->method`.
 Также имеется целый набор логических свойств для проверки соответствует ли текущий метод определённому типу запроса.
@@ -65,7 +65,7 @@ if ($request->isPost) { // является ли текущий запрос POS
 if ($request->isPut)  { // является ли текущий запрос PUT запросом }
 ```
 
-## URL запроса <a name="request-urls"></a>
+## URL запроса <span id="request-urls"></span>
 
 Компонент `request` предоставляет множество способов изучения текущего запрашиваемого URL. 
 
@@ -83,7 +83,7 @@ if ($request->isPut)  { // является ли текущий запрос PUT
 * [[yii\web\Request::serverPort|serverPort]]: вернёт 80, что является адресом порта, который использует веб-сервер.
 
 
-## HTTP заголовки <a name="http-headers"></a> 
+## HTTP заголовки <span id="http-headers"></span> 
 
 Вы можете получить информацию о HTTP заголовках через [[yii\web\HeaderCollection|header collection]], возвращаемыми свойством [[yii\web\Request::headers]]. Например,
 
@@ -115,7 +115,7 @@ if ($headers->has('User-Agent')) { // есть ли в запросе загол
   какой тип содержимого и язык должен использоваться в ответе. Фильтр реализует согласование содержимого на основе свойств и методов, описанных выше.
 
 
-## Информация о клиенте <a name="client-information"></a>
+## Информация о клиенте <span id="client-information"></span>
 
 Вы можете получить имя хоста и IP адрес пользователя через свойства [[yii\web\Request::userHost|userHost]]
 и [[yii\web\Request::userIP|userIP]] соответственно. Например,
diff --git a/docs/guide-ru/runtime-responses.md b/docs/guide-ru/runtime-responses.md
index 4d3d80c..22d85d7 100644
--- a/docs/guide-ru/runtime-responses.md
+++ b/docs/guide-ru/runtime-responses.md
@@ -12,7 +12,7 @@
 В данном разделе мы опишем, как составлять ответы и отправлять их пользователям. 
 
 
-## Код состояния <a name="status-code"></a>
+## Код состояния <span id="status-code"></span>
 
 Первое, что вы делаете при построении ответа, — определяете, был ли успешно обработан запрос. Это реализуется заданием
 свойству [[yii\web\Response::statusCode]] значения, которое может быть одним из валидных
@@ -55,7 +55,7 @@ throw new \yii\web\HttpException(402);
 ```
 
 
-## HTTP-заголовки <a name="http-headers"></a> 
+## HTTP-заголовки <span id="http-headers"></span> 
 
 Вы можете отправлять HTTP-заголовки, работая с [[yii\web\Response::headers|коллекцией заголовков]] компонента `response`:
 
@@ -76,7 +76,7 @@ $values = $headers->remove('Pragma');
   пользователю до вызова [[yii\web\Response::send()]].
 
 
-## Тело ответа <a name="response-body"></a>
+## Тело ответа <span id="response-body"></span>
 
 Большинство ответов должны иметь тело, содержащее то, что вы хотите показать пользователям.
 
@@ -154,7 +154,7 @@ public function actionInfo()
   [внедрением зависимости](concept-di-container.md), чтобы применить общую конфигурацию к вашим новым объектам ответа.
 
 
-## Перенаправление браузера <a name="browser-redirection"></a>
+## Перенаправление браузера <span id="browser-redirection"></span>
 
 Перенаправление браузера основано на отправке HTTP-заголовка `Location`. Так как данная возможность широко применяется,
 Yii имеет средства для её использования.
@@ -196,7 +196,7 @@ public function actionOld()
   дополнительный код для поддержки AJAX-перенаправления.
 
 
-## Отправка файлов <a name="sending-files"></a>
+## Отправка файлов <span id="sending-files"></span>
 
 Как и перенаправление браузера, отправка файлов является ещё одной возможностью, основанной на определённых HTTP-заголовках.
 Yii предоставляет набор методов для решения различных задач по отправке файлов. Все они поддерживают HTTP-заголовок range.
@@ -236,7 +236,7 @@ Web-серверов:
 - Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile)
 
 
-## Отправка ответа <a name="sending-response"></a>
+## Отправка ответа <span id="sending-response"></span>
 
 Содержимое ответа не отправляется пользователю до вызова метода [[yii\web\Response::send()]]. По умолчанию он вызывается
 автоматически в конце метода [[yii\base\Application::run()]]. Однако, чтобы ответ был отправлен немедленно, вы можете
diff --git a/docs/guide-ru/start-databases.md b/docs/guide-ru/start-databases.md
index 2a1efae..7a465c2 100644
--- a/docs/guide-ru/start-databases.md
+++ b/docs/guide-ru/start-databases.md
@@ -13,7 +13,7 @@
 Обратите внимание, чтобы усвоить этот раздел, вы должны иметь базовые знания и навыки использования баз данных. 
 В частности, вы должны знать, как создать базу данных, и как выполнять SQL запросы, используя клиентские инструменты для работы с БД.
 
-Подготавливаем базу данных <a name="preparing-database"></a>
+Подготавливаем базу данных <span id="preparing-database"></span>
 ----------------------
 
 Для начала, создайте базу данных под названием `yii2basic`, из которой вы будете получать данные в вашем приложении.
@@ -42,7 +42,7 @@ INSERT INTO `country` VALUES ('US','United States',278357000);
 
 На данный момент у вас есть база данных под названием `yii2basic`, и внутри неё таблица `country` с тремя столбцами, содержащими десять строк данных.
 
-Настраиваем подключение к БД <a name="configuring-db-connection"></a>
+Настраиваем подключение к БД <span id="configuring-db-connection"></span>
 ---------------------------
 
 Перед продолжением убедитесь, что у вас установлены PHP-расширение [PDO](http://www.php.net/manual/en/book.pdo.php) и драйвер PDO для используемой вами базы данных (н-р `pdo_mysql` для MySQL). Это базовое требование в случае использования вашим приложением реляционной базы данных.
@@ -68,7 +68,7 @@ return [
   описывающей то, как экземпляр [приложения](structure-applications.md) должен быть инициализирован.
   Для детальной информации, пожалуйста, обратитесь к разделу [Конфигурации](concept-configurations.md).
 
-Создаём потомка Active Record <a name="creating-active-record"></a>
+Создаём потомка Active Record <span id="creating-active-record"></span>
 -------------------------
 
 Чтобы представлять и получать данные из таблицы `country`, создайте класс - потомок [Active Record](db-active-record.md), под названием `Country`, и сохраните его в файле `models/Country.php`.
@@ -113,7 +113,7 @@ $country->save();
   Вы можете найти подробную информацию в разделе [Active Record](db-active-record.md). В качестве альтернативы, вы также можете взаимодействовать с базой данных, используя более низкоуровневый способ доступа, называемый [Data Access Objects](db-dao.md).
 
 
-Создаём Action <a name="creating-action"></a>
+Создаём Action <span id="creating-action"></span>
 ------------------
 
 Для того, чтобы показать данные по странам конечным пользователям, вам надо создать новый action. Вместо размещения нового action'a в контроллере `site`, как вы делали в предыдущих разделах, будет иметь больше смысла создать новый контроллер специально для всех действий, относящихся к данным по странам. Назовите новый контроллер `CountryController`, и создайте action `index` внутри него, как показано ниже.
@@ -160,7 +160,7 @@ Action `index` вызывает `Country::find()`. Данный метод Activ
 
 В конце кода action `index` выводит view с именем `index`, и передаёт в него данные по странам вместе c информацией о пагинации.
 
-Создаём View <a name="creating-view"></a>
+Создаём View <span id="creating-view"></span>
 ---------------
 
 Первым делом создайте поддиректорию с именем `country` внутри директории `views`. Эта папка будет использоваться для хранения всех view, выводимых контроллером `country`. Внутри директории `views/country` создайте файл с именем `index.php`, содержащий следующий код:
@@ -187,7 +187,7 @@ View имеет 2 части относительно отображения д�
 Во второй части выводится виджет [[yii\widgets\LinkPager]], используя информацию о пагинации, переданную из action во view. Виджет `LinkPager` отображает набор постраничных кнопок. Клик по любой из них обновит данные по странам в соответствующей странице.
 
 
-Испытываем в действии <a name="trying-it-out"></a>
+Испытываем в действии <span id="trying-it-out"></span>
 -------------
 
 Чтобы увидеть, как работает весь вышеприведённый код, перейдите по следующей ссылке в своём браузере:
@@ -210,7 +210,7 @@ http://hostname/index.php?r=country/index&page=2
 * Виджет [[yii\widgets\LinkPager|LinkPager]] выводит кнопки страниц используя URL'ы, созданные [[yii\data\Pagination::createUrl()|Pagination]]. Эти URL'ы будут содержать параметр запроса `page`, который представляет различные номера страниц.
 * Если вы кликните по кнопке "2", сработает и обработается новый запрос для маршрута `country/index`. Таким образом новый запрос стран будет иметь параметры `LIMIT 5 OFFSET 5` и вернет следующие пять стран для отображения.
 
-Резюме <a name="summary"></a>
+Резюме <span id="summary"></span>
 -------
 
 В этом разделе вы научились работать с базой данных. Также вы научились получать и отображать данные с постраничной разбивкой с помощью [[yii\data\Pagination]] и [[yii\widgets\LinkPager]].
diff --git a/docs/guide-ru/start-forms.md b/docs/guide-ru/start-forms.md
index 81d861b..97db95f 100644
--- a/docs/guide-ru/start-forms.md
+++ b/docs/guide-ru/start-forms.md
@@ -14,7 +14,7 @@
 * Как создать HTML форму в [представлении](structure-views.md).
 
 
-Создание модели <a name="creating-model"></a>
+Создание модели <span id="creating-model"></span>
 ---------------------------------------------
 
 В файле `models/EntryForm.php` создайте класс модели `EntryForm` как показано ниже. Он будет использоваться для
@@ -58,7 +58,7 @@ class EntryForm extends Model
 станет равным `true`. С помощью [[yii\base\Model::getErrors|errors]] можно узнать, какие именно ошибки возникли.
 
 
-Создание действия <a name="creating-action"></a>
+Создание действия <span id="creating-action"></span>
 ------------------------------------------------
 
 Далее создайте действие `entry` в контроллере `site`, точно так же, как вы делали это ранее.
@@ -108,7 +108,7 @@ class SiteController extends Controller
 был использован компонент `request`.
 
 
-Создание представления <a name="creating-views"></a>
+Создание представления <span id="creating-views"></span>
 ----------------------------------------------------
 
 В заключение, создаём два представления с именами `entry-confirm` и `entry`, которые отображаются действием `entry` из
@@ -154,7 +154,7 @@ use yii\widgets\ActiveForm;
 Далее для генерации кнопки отправки данных вызывается метод [[yii\helpers\Html::submitButton()]].
 
 
-Попробуем <a name="trying-it-out"></a>
+Попробуем <span id="trying-it-out"></span>
 --------------------------------------
 
 Чтобы увидеть всё созданное в работе, откройте в браузере следующий URL:
@@ -175,7 +175,7 @@ http://hostname/index.php?r=site/entry
 
 
 
-### Как работает вся эта «магия» <a name="magic-explained"></a>
+### Как работает вся эта «магия» <span id="magic-explained"></span>
 
 Вы, скорее всего, задаётесь вопросом о том, как же эта HTML форма работает на самом деле. Весь процесс может показаться
 немного волшебным: то как показываются подписи к полям, ошибки проверки данных при некорректном вводе и то что всё это
@@ -199,7 +199,7 @@ http://hostname/index.php?r=site/entry
   Как вы узнаете позже, разрабатывать новые виджеты очень просто. Многое из представлений можно вынести в виджеты, чтобы
   использовать это повторно в других местах и упростить тем самым разработку в будущем.
 
-Резюме <a name="summary"></a>
+Резюме <span id="summary"></span>
 -----------------------------
 
 В данном разделе вы попробовали каждую часть шаблона проектирования MVC. Вы изучили как создавать классы моделей
diff --git a/docs/guide-ru/start-gii.md b/docs/guide-ru/start-gii.md
index 5fc4b3f..0311768 100644
--- a/docs/guide-ru/start-gii.md
+++ b/docs/guide-ru/start-gii.md
@@ -12,7 +12,7 @@
 * Как настроить код, генерируемый Gii.
 
 
-Запускаем Gii <a name="starting-gii"></a>
+Запускаем Gii <span id="starting-gii"></span>
 ------------
 
 [Gii](tool-gii.md) предствален в Yii как [модуль](structure-modules.md). Вы можете активировать Gii,
@@ -54,7 +54,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-Генерация класса Active Record <a name="generating-ar"></a>
+Генерация класса Active Record <span id="generating-ar"></span>
 ---------------------------------
 
 Чтобы использовать Gii для генерации класса Active Record, выберите "Генератор модели" (нажав на ссылку на главной странице Gii). И заполните форму следующим образом:
@@ -75,7 +75,7 @@ http://hostname/index.php?r=gii
 После этого вы увидите страницу подтверждения, указывающую на то, что код был успешно сгенерирован. Если файл существовал до этого, вы также увидите сообщение о том, что он был перезаписан заново сгенерированным кодом.
 
 
-Создание CRUD кода <a name="generating-crud"></a>
+Создание CRUD кода <span id="generating-crud"></span>
 --------------------
 
 CRUD расшифровывается как Create, Read, Update и Delete, предоставляющий четыре основные функции, выполняемые над данными на большинстве веб-сайтов. Чтобы создать функциональность CRUD используя Gii, выберите "CRUD Генератор" (нажав на ссылку на главной странице Gii). Для нашей таблицы «country» заполните полученную форму следующим образом:
@@ -93,7 +93,7 @@ CRUD расшифровывается как Create, Read, Update и Delete, п�
 Если вы уже создали файлы `controllers/CountryController.php` и `views/country/index.php` (в разделе о базах данных), установите флажок "overwrite", чтобы заменить их. (Предыдущие версии не поддерживают CRUD полностью)
 
 
-Испытываем в действии <a name="trying-it-out"></a>
+Испытываем в действии <span id="trying-it-out"></span>
 -------------
 
 Чтобы увидеть как всё это работает, перейдите по следующему URL, используя ваш браузер:
@@ -120,7 +120,7 @@ http://hostname/index.php?r=country/index
 > Информация: Gii разработан как тонконастраиваемый и расширяемый инструмент генерации кода. Используя его с умом, вы можете значительно ускорить скорость разработки приложений. Для более подробной информации, пожалуйста, обратитесь к разделу [Gii](tool-gii.md).
 
 
-Заключение <a name="summary"></a>
+Заключение <span id="summary"></span>
 -------
 
 В этом разделе вы узнали, как использовать Gii для генерации кода, реализующего полную функциональность CRUD для данных, хранящихся в таблице базы данных.
diff --git a/docs/guide-ru/start-hello.md b/docs/guide-ru/start-hello.md
index 2b5ffd4..91f6d70 100644
--- a/docs/guide-ru/start-hello.md
+++ b/docs/guide-ru/start-hello.md
@@ -14,7 +14,7 @@
 * Как приложение отсылает запросы к [действию](structure-controllers.md).
 
 
-Создание Действия <a name="creating-action"></a>
+Создание Действия <span id="creating-action"></span>
 ------------------------------------------------
 
 Для нашей задачи потребуется [действие](structure-controllers.md) `say`, которое читает параметр `message` из
@@ -62,7 +62,7 @@ Yii использует префикс `action` чтобы различать �
 Результат отображения при помощи `return` передаётся приложению, которое отдаёт его пользователю.
 
 
-Создание представления <a name="creating-view"></a>
+Создание представления <span id="creating-view"></span>
 ---------------------------------------------------
 
 [Представления](structure-views.md) являются скриптами, которые используются для формирования тела ответа. Для нашего
@@ -88,7 +88,7 @@ use yii\helpers\Html;
 скриптом представления, будет передано пользователю приложением.
 
 
-Попробуем <a name="trying-it-out"></a>
+Попробуем <span id="trying-it-out"></span>
 --------------------------------------
 
 После создания действия и представления вы можете перейти на новую страницу по следующему URL:
@@ -121,7 +121,7 @@ http://hostname/index.php?r=site/say&message=Привет+мир
   имени класса контроллера `PostCommentController`.
 
 
-Резюме <a name="summary"></a>
+Резюме <span id="summary"></span>
 -----------------------------
 
 В этом разделе вы затронули тему контроллеров и представлений в паттерне MVC. Вы создали действие как часть контроллера,
diff --git a/docs/guide-ru/start-installation.md b/docs/guide-ru/start-installation.md
index 9a1914c..76dfe3a 100644
--- a/docs/guide-ru/start-installation.md
+++ b/docs/guide-ru/start-installation.md
@@ -8,7 +8,7 @@
 > Примечание: В отличие от Yii 1, после стандартной установки Yii 2 мы получаем как фреймворк, так и шаблон приложения.
 
 
-Установка при помощи Composer <a name="installing-via-composer"></a>
+Установка при помощи Composer <span id="installing-via-composer"></span>
 -----------------------
 
 Если Composer еще не установлен это можно сделать по инструкции на
@@ -52,7 +52,7 @@ Composer установит Yii (шаблонное приложение basic) 
 > Старайтесь не использовать нестабильную версию Yii на рабочих серверах потому как она может внезапно поломать код.
 
 
-Установка из архива <a name="installing-from-archive-file"></a>
+Установка из архива <span id="installing-from-archive-file"></span>
 -------------------------------
 
 Установка Yii из архива состоит из трёх шагов:
@@ -67,7 +67,7 @@ Composer установит Yii (шаблонное приложение basic) 
    'cookieValidationKey' => 'enter your secret key here',
    ```
 
-Другие опции установки <a name="other-installation-options"></a>
+Другие опции установки <span id="other-installation-options"></span>
 --------------------------
 
 Выше приведены инструкции по установке Yii в виде базового приложения готового к работе.
@@ -81,7 +81,7 @@ Composer установит Yii (шаблонное приложение basic) 
 [шаблон приложения advanced](tutorial-advanced-app.md).
 
 
-Проверка установки <a name="verifying-installation"></a>
+Проверка установки <span id="verifying-installation"></span>
 ----------------------
 
 После установки приложение будет доступно по следующему URL:
@@ -111,7 +111,7 @@ http://localhost/basic/web/index.php
 (например, `pdo_mysql` для MySQL).
 
 
-Настройка веб сервера <a name="configuring-web-servers"></a>
+Настройка веб сервера <span id="configuring-web-servers"></span>
 -----------------------
 
 > Информация: можете пропустить этот подраздел если вы только начали знакомиться с фреймворком и пока не разворачиваете
@@ -134,7 +134,7 @@ http://localhost/basic/web/index.php
   приложения как описано в разделе «[Работа на Shared хостинге](tutorial-shared-hosting.md)».
 
 
-### Рекомендуемые настройки Apache <a name="recommended-apache-configuration"></a>
+### Рекомендуемые настройки Apache <span id="recommended-apache-configuration"></span>
 
 Добавьте следующее в `httpd.conf` Apache или в конфигурационный файл виртуального хоста. Не забудьте заменить
 `path/to/basic/web` на корректный путь к `basic/web`.
@@ -157,7 +157,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### Рекомендуемые настройки Nginx <a name="recommended-nginx-configuration"></a>
+### Рекомендуемые настройки Nginx <span id="recommended-nginx-configuration"></span>
 
 PHP должен быть установлен как [FPM SAPI](http://php.net/manual/ru/install.fpm.php) для [Nginx](http://wiki.nginx.org/).
 Используйте следующие параметры Nginx и не забудьте заменить `path/to/basic/web` на корректный путь к `basic/web` и
diff --git a/docs/guide-ru/start-workflow.md b/docs/guide-ru/start-workflow.md
index 4315572..0f1c669 100644
--- a/docs/guide-ru/start-workflow.md
+++ b/docs/guide-ru/start-workflow.md
@@ -5,7 +5,7 @@
 
 > Информация: далее в данном руководстве предполагается, что Yii установлен в директорию `basic/web`, которая, в свою очередь, установлена как корневой каталог в настройках Web сервера. В результате, обратившись по URL `http://hostname/index.php`, Вы получите доступ к приложению, расположенному в `basic/web`. Детальнее с процессом начальной настройки можно познакомиться в разделе [Установка Yii](start-installation.md).
 
-Функционал <a name="functionality"></a>
+Функционал <span id="functionality"></span>
 ---------------
 
 Установленный шаблон простого приложения состоит из четырех страниц:
@@ -20,7 +20,7 @@
 В самой нижней части окна Вы будете видеть системные сообщения Yii - журнал, отладочную информацию, сообщения об ошибках, запросы к базе данных и т.п. Выводом данной информации руководит [встроенный отладчик](tool-debugger.md), он записывает и отображает информацию о ходе выполнения приложения.
 
 
-Структура приложения Yii <a name="application-structure"></a>
+Структура приложения Yii <span id="application-structure"></span>
 ---------------------
 
 Ниже приведен список основных директорий и файлов вашего приложения (считаем, что приложение установлено в директорию `basic`):
@@ -57,7 +57,7 @@ basic/                  корневой каталог приложения
 [Приложение](structure-applications.md) обрабатывает входящие запросы при помощи [компонентов](concept-components.md) и отправляет запрос контроллеру. [Виджеты](structure-widgets.md) используются в [Видах](structure-views.md) для построения динамических интерфейсов сайта.
 
 
-Жизненный цикл пользовательского запроса <a name="request-lifecycle"></a>
+Жизненный цикл пользовательского запроса <span id="request-lifecycle"></span>
 -----------------
 
 На диаграмме показано как приложение обрабатывает запрос.
diff --git a/docs/guide-ru/structure-application-components.md b/docs/guide-ru/structure-application-components.md
index 73ef2a2..6368e83 100755
--- a/docs/guide-ru/structure-application-components.md
+++ b/docs/guide-ru/structure-application-components.md
@@ -48,7 +48,7 @@
   В большинстве случаев вы можете просто создать локальный компонент и использовать его при необходимости.
 
 
-## Встроенные компоненты приложения <a name="core-application-components"></a>
+## Встроенные компоненты приложения <span id="core-application-components"></span>
 
 В Yii есть несколько *встроенных* компонентов приложения, с фиксированными ID и конфигурациями по умолчанию. Например,
 компонент [[yii\web\Application::request|request]] используется для сбора информации о запросе пользователя и разбора его в
diff --git a/docs/guide-ru/structure-applications.md b/docs/guide-ru/structure-applications.md
index 58cb20c..a1a8d2a 100644
--- a/docs/guide-ru/structure-applications.md
+++ b/docs/guide-ru/structure-applications.md
@@ -12,7 +12,7 @@
 Как можно догадаться по названию, первый тип в основном занимается обработкой веб запросов, в то время как последний - консольных команд.
 
 
-## Конфигурации приложения <a name="application-configurations"></a>
+## Конфигурации приложения <span id="application-configurations"></span>
 
 Когда [входной скрипт](structure-entry-scripts.md) создаёт приложение, он загрузит [конфигурацию](concept-configurations.md)
 и применит её к приложению, например:
@@ -33,27 +33,27 @@ $config = require(__DIR__ . '/../config/web.php');
 [конфигурационных файлов](concept-configurations.md#configuration-files), например, `web.php` - файл в приведённом выше примере.
 
 
-## Свойства приложений <a name="application-properties"></a>
+## Свойства приложений <span id="application-properties"></span>
 
 Существует много важных свойств приложения, которые вы настраиваете в конфигурациях приложения. Эти свойства обычно
 описывают окружение, в котором работает приложение. Например, приложение должно знать каким образом загружать [контроллеры](structure-controllers.md),
 где хранить временные файлы, и т. д. Ниже мы рассмотрим данные свойства.
 
 
-### Обязательные свойства <a name="required-properties"></a>
+### Обязательные свойства <span id="required-properties"></span>
 
 В любом приложении, вы должны настроить минимум два свойства: [[yii\base\Application::id|id]]
 и [[yii\base\Application::basePath|basePath]].
 
 
-#### [[yii\base\Application::id|id]] <a name="id"></a>
+#### [[yii\base\Application::id|id]] <span id="id"></span>
 
 Свойство [[yii\base\Application::id|id]] это уникальный индекс приложения, который отличает его от других приложений.
 В основном это используется внутрисистемно. Хоть это и не обязательно, но для лучшей совместимости рекомендуется использовать
 буквенно-цифровые символы при указании индекса приложения.
 
 
-#### [[yii\base\Application::basePath|basePath]] <a name="basePath"></a>
+#### [[yii\base\Application::basePath|basePath]] <span id="basePath"></span>
 
 Свойство [[yii\base\Application::basePath|basePath]] указывает на корневую директорию приложения. Эта директория содержит
 весь защищенный исходный код приложения. В данной директории обычно могут находится поддиректории `models`, `views`,
@@ -69,12 +69,12 @@ $config = require(__DIR__ . '/../config/web.php');
 времененную дирректорию runtime).
 
 
-### Важные свойства <a name="important-properties"></a>
+### Важные свойства <span id="important-properties"></span>
 
 Свойства, указанные в этом подразделе, часто нуждаются в преднастройке т.к. они разнятся от приложения к приложению.
 
 
-#### [[yii\base\Application::aliases|aliases]] <a name="aliases"></a>
+#### [[yii\base\Application::aliases|aliases]] <span id="aliases"></span>
 
 Это свойство позволяет настроить вам множество [псевдонимов](concept-aliases.md) в рамках массива.
 Ключами массива являются имена псевдонимов, а значениями массива - соответствующие значения пути. Например,
@@ -92,7 +92,7 @@ $config = require(__DIR__ . '/../config/web.php');
 а не вызовов метода [[Yii::setAlias()]].
 
 
-#### [[yii\base\Application::bootstrap|bootstrap]] <a name="bootstrap"></a>
+#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
 
 
 Данное свойство является очень удобным, оно позволяет указать массив компонентов, которые должны быть загружены
@@ -165,7 +165,7 @@ if (YII_ENV_DEV) {
 быть загружено. Таким образом вы должны использовать начальную загрузку разумно.
 
 
-#### [[yii\web\Application::catchAll|catchAll]] <a name="catchAll"></a>
+#### [[yii\web\Application::catchAll|catchAll]] <span id="catchAll"></span>
 
 Данное свойство поддерживается только [[yii\web\Application|веб приложениями]]. Оно указывает
 [действие контроллера](structure-controllers.md), которое должно обрабатывать все входящие запросы от пользователя.
@@ -187,7 +187,7 @@ if (YII_ENV_DEV) {
 ```
 
 
-#### [[yii\base\Application::components|components]] <a name="components"></a>
+#### [[yii\base\Application::components|components]] <span id="components"></span>
 
 Данное свойство является наиболее важным. Оно позволяет вам зарегистрировать список именованных компонентов, называемых
 [компоненты приложения](#structure-application-components.md), которые Вы можете использовать в других местах.
@@ -216,7 +216,7 @@ if (YII_ENV_DEV) {
 Более подробная информация приведена в разделе [Компоненты приложения](structure-application-components.md).
 
 
-#### [[yii\base\Application::controllerMap|controllerMap]] <a name="controllerMap"></a>
+#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
 
 Данное свойство позволяет вам задавать соответствия(mapping) между ID контроллера и произвольным классом контроллера.
 По-умолчанию, Yii задает соответствие между ID контроллера и его классом согласно данному [соглашению](#controllerNamespace)
@@ -243,7 +243,7 @@ if (YII_ENV_DEV) {
 классов(полное название класса с пространством имен) контроллера или [конфигурация](concept-configurations.md).
 
 
-#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <a name="controllerNamespace"></a>
+#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <span id="controllerNamespace"></span>
 
 Данное свойство указывает пространство имен, в котором по умолчанию должны находится названия классов контроллеров.
 По-умолчанию значение равно `app\controllers`. Если ID контроллера `post`, то согласно соглашению, соответствующий класс
@@ -259,7 +259,7 @@ if (YII_ENV_DEV) {
 В случае, если вы хотите переопределить соответствия как описано выше, вы можете настроить свойство [controllerMap](#controllerMap).
 
 
-#### [[yii\base\Application::language|language]] <a name="language"></a>
+#### [[yii\base\Application::language|language]] <span id="language"></span>
 
 Данное свойство указывает язык приложения, на котором содержимое страницы должно быть отображено конечному пользователю.
 По-умолчанию значение данного свойства равно `en`, что означает "Английский". Если ваше приложение должно поддерживать
@@ -276,7 +276,7 @@ if (YII_ENV_DEV) {
 Более детальная информация приведена в разделе [Интернационализация](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::modules|modules]] <a name="modules"></a>
+#### [[yii\base\Application::modules|modules]] <span id="modules"></span>
 
 Данное свойство указывает [модули](structure-modules.md), которые содержаться в приложении.
 
@@ -301,7 +301,7 @@ ID модулей. Например,
 Более детальная информация приведена в разделе [Модули](structure-modules.md).
 
 
-#### [[yii\base\Application::name|name]] <a name="name"></a>
+#### [[yii\base\Application::name|name]] <span id="name"></span>
 
 Свойство указывает название приложения, которое может быть показано конечным пользователям. В отличие от
 свойства [[yii\base\Application::id|id]], которое должно быть уникальным, значение данного свойства нужно в
@@ -310,7 +310,7 @@ ID модулей. Например,
 Если ваш код не использует данное свойство, то вы можете не настраивать его.
 
 
-#### [[yii\base\Application::params|params]] <a name="params"></a>
+#### [[yii\base\Application::params|params]] <span id="params"></span>
 
 Данное свойство указывает массив глобально доступных параметров приложения. Вместо того, чтобы использовать
 жестко фиксированные числа и строки в вашем коде, лучше объявить их параметрами приложения в едином месте и 
@@ -335,7 +335,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 приложения, не касаясь зависимого кода.
 
 
-#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <a name="sourceLanguage"></a>
+#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <span id="sourceLanguage"></span>
 
 Данное свойство указывает язык на котором написан код приложения. По-умолчанию значение равно `'en-US'`, что означает
 "Английский" (США). Вы должны настроить данное свойство соответствующим образом, если содержимое в вашем коде является не
@@ -347,7 +347,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Более детальная информация приведена в разделе [Интернационализация](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::timeZone|timeZone]] <a name="timeZone"></a>
+#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
 
 Данное свойство предоставляет альтернативный способ установки временной зоны в процессе работы приложения.
 Путем указания данного свойства, вы по существу вызываете PHP функцию 
@@ -360,27 +360,27 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 ]
 ```
 
-#### [[yii\base\Application::version|version]] <a name="version"></a>
+#### [[yii\base\Application::version|version]] <span id="version"></span>
 
 Данное свойство указывает версию приложения. По-умолчанию значение равно `'1.0'`. Вы можете не настраивать это свойство, если
 ваш код не использует его.
 
 
-### Полезные свойства <a name="useful-properties"></a>
+### Полезные свойства <span id="useful-properties"></span>
 
 Свойства, указанные в данном подразделе, не являются часто конфигурируемыми, т. к. их значения по умолчанию
 соответствуют общепринятым соглашениям. Однако, вы можете их настроить, если вам нужно использовать другие
 соглашения.
 
 
-#### [[yii\base\Application::charset|charset]] <a name="charset"></a>
+#### [[yii\base\Application::charset|charset]] <span id="charset"></span>
 
 Свойство указывает кодировку, которую использует приложение. По-умолчанию значение равно `'UTF-8'`, которое должно быть
 оставлено как есть для большинства приложения, только если вы не работаете с устаревшим кодом, который использует большее
 количество данных не юникода.
 
 
-#### [[yii\base\Application::defaultRoute|defaultRoute]] <a name="defaultRoute"></a>
+#### [[yii\base\Application::defaultRoute|defaultRoute]] <span id="defaultRoute"></span>
 
 Свойство указывает [маршрут](runtime-routing.md), который должно использовать приложение, когда он не указан
 во входящем запросе. Маршрут может состоять из ID модуля, ID контроллера и/или ID действия. Например, `help`,
@@ -396,7 +396,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 выполните команду `yii` без аргументов, вам будет отображена справочная информация.
 
 
-#### [[yii\base\Application::extensions|extensions]] <a name="extensions"></a>
+#### [[yii\base\Application::extensions|extensions]] <span id="extensions"></span>
 
 Данное свойство указывает список [расширений](structure-extensions.md), которые установлены и используются приложением.
 По-умолчанию, значением данного свойства будет массив, полученный из файла `@vendor/yiisoft/extensions.php`. Файл `extensions.php`
@@ -430,7 +430,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Расширение также может определять несколько [псевдонимов](concept-aliases.md).
 
 
-#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
+#### [[yii\base\Application::layout|layout]] <span id="layout"></span>
 
 Данное свойство указывает имя шаблона по умолчанию, который должен быть использовать при формировании [представлений](structure-views.md).
 Значение по умолчанию равно `'main'`, означающее, что должен быть использован шаблон `main.php` в [папке шаблонов](#layoutPath).
@@ -440,7 +440,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Для отключения использования шаблона, вы можете указать данное свойство как `false`, хотя это используется очень редко.
 
 
-#### [[yii\base\Application::layoutPath|layoutPath]] <a name="layoutPath"></a>
+#### [[yii\base\Application::layoutPath|layoutPath]] <span id="layoutPath"></span>
 
 Свойство указывает путь, по которому следует искать шаблоны. Значение по умолчанию равно `layouts`, означающее подпапку
 в [папке представлений](#viewPath). Если значение [папки представлений](#viewPath) является значением по умолчанию, то
@@ -449,7 +449,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Вы можете настроить данное свойство как папку так и как [псевдоним](concept-aliases.md).
 
 
-#### [[yii\base\Application::runtimePath|runtimePath]] <a name="runtimePath"></a>
+#### [[yii\base\Application::runtimePath|runtimePath]] <span id="runtimePath"></span>
 
 Свойство указывает путь, по которому хранятся временные файлы, такие как: лог файлы, кэш файлы.
 По-умолчанию значение равно папке, которая представлена псевдонимом пути `@app/runtime`.
@@ -461,13 +461,13 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Для упрощения работы с данной папкой, Yii предоставляет предопределенный псевдоним пути `@runtime`.
 
 
-#### [[yii\base\Application::viewPath|viewPath]] <a name="viewPath"></a>
+#### [[yii\base\Application::viewPath|viewPath]] <span id="viewPath"></span>
 
 Данное свойство указывает базовую папку,где содержаться все файлы представлений. Значение по умолчанию представляет
 собой псевдоним `@app/views`. Вы можете настроить данное свойство как папку так и как [псевдоним](concept-aliases.md).
 
 
-#### [[yii\base\Application::vendorPath|vendorPath]] <a name="vendorPath"></a>
+#### [[yii\base\Application::vendorPath|vendorPath]] <span id="vendorPath"></span>
 
 Свойство указывает папку сторонних библиотек, которые используются и управляются [Composer](http://getcomposer.org).
 Она содержит все сторонние библиотеки используемые приложением, включая Yii фреймворк. Значение по умолчанию
@@ -479,13 +479,13 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Для упрощения работы с данной папкой, Yii предоставляет предопределенный псевдоним пути `@vendor`.
 
 
-#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <a name="enableCoreCommands"></a>
+#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <span id="enableCoreCommands"></span>
 
 Данное свойство поддерживается только [[yii\console\Application|консольными приложениями]]. Оно указывает
 нужно ли использовать встроенные в Yii консольные команды. Значение по умолчанию равно `true`.
 
 
-## События приложения <a name="application-events"></a>
+## События приложения <span id="application-events"></span>
 
 В течение жизненного цикла приложения, возникает несколько событий. Вы можете назначать обработчики событий в
 конфигурации приложения следующим образом:
@@ -509,7 +509,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 });
 ```
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <a name="beforeRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <span id="beforeRequest"></span>
 
 Данное событие возникает *до* того как приложение начинает обрабатывать входящий запрос. 
 Настоящее имя события - `beforeRequest`.
@@ -520,7 +520,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 от некоторых параметров.
 
 
-### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <a name="afterRequest"></a>
+### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <span id="afterRequest"></span>
 
 Данное событие возникает *после* того как приложение заканчивает обработку запроса, но *до* того как произойдет 
 отправка ответа. Настоящее имя события - `afterRequest`.
@@ -532,7 +532,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 конечному пользователю. Эти события возникают *после* текущего события.
 
 
-### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <a name="beforeAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <span id="beforeAction"></span>
 
 Событие возникает *до* того как будет выполнено [действие контроллера](structure-controllers.md).
 Настоящее имя события - `beforeAction`.
@@ -559,7 +559,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 свойство [[yii\base\ActionEvent::isValid]] равным `false`, все последующие события не возникнут.
 
 
-### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <a name="afterAction"></a>
+### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <span id="afterAction"></span>
 
 Событие возникает *после* выполнения [действия контроллера](structure-controllers.md).
 Настоящее имя события - `afterAction`.
@@ -586,7 +586,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 и наконец в приложениях.
 
 
-## Жизненный цикл приложения <a name="application-lifecycle"></a>
+## Жизненный цикл приложения <span id="application-lifecycle"></span>
 
 Когда [входной скрипт](structure-entry-scripts.md) выполняется для обработки запроса, приложение
 будет развиваться согласно следующему жизненному циклу:
diff --git a/docs/guide-ru/structure-controllers.md b/docs/guide-ru/structure-controllers.md
index c933fb7..5fe8b1f 100644
--- a/docs/guide-ru/structure-controllers.md
+++ b/docs/guide-ru/structure-controllers.md
@@ -7,7 +7,7 @@
 и в конечном итоге сгенерируют исходящие ответы.
 
 
-## Действия <a name="actions"></a>
+## Действия <span id="actions"></span>
 
 Контроллеры состоят из *действий*, которые являются основными блоками, к которым может обращаться конечный пользователь и запрашивать исполнение того или иного
 функционала. В контроллере может быть одно или несколько действий.
@@ -60,7 +60,7 @@ class PostController extends Controller
 что созданной модели. В противном случае он отобразит представление `create`, через которое пользователь может заполнить нужные данные.
 
 
-## Маршруты <a name="routes"></a>
+## Маршруты <span id="routes"></span>
 
 Конечные пользователи обращаются к действиям через так называемые *маршруты*. Маршрут это строка, состоящая из следующих частей:
 
@@ -85,7 +85,7 @@ ModuleID/ControllerID/ActionID
 Секция [Маршрутизация](runtime-routing.md) содержит более подробную информацию о том как маршруты сопоставляются с действиями.
 
 
-## Создание контроллеров <a name="creating-controllers"></a>
+## Создание контроллеров <span id="creating-controllers"></span>
 
 В [[yii\web\Application|Веб приложениях]], контроллеры должны быть унаследованы от [[yii\web\Controller]] или его потомков.
 Аналогично для [[yii\console\Application|консольных приложений]], контроллеры должны быть унаследованы от [[yii\console\Controller]] или
@@ -102,7 +102,7 @@ class SiteController extends Controller
 ```
 
 
-### ID контроллеров <a name="controller-ids"></a>
+### ID контроллеров <span id="controller-ids"></span>
 
 Обычно контроллер сделан таким образом, что он должен обрабатывать запросы, связанные с определенным ресурсом.
 Именно по этим причинам, ID контроллеров обычно являются существительные, ссылающиеся на ресурс, который они обрабатывают.
@@ -119,7 +119,7 @@ ID контроллеров также могут содержать префи�
 
 
 
-### Правила наименования классов контроллеров <a name="controller-class-naming"></a>
+### Правила наименования классов контроллеров <span id="controller-class-naming"></span>
 
 Названия классов контроллеров могут быть получены из ID контроллеров следующими способами:
 
@@ -146,7 +146,7 @@ ID контроллеров также могут содержать префи�
   в несколько категорий и не хотите использовать [модули](structure-modules.md).
 
 
-### Карта контроллеров <a name="controller-map"></a>
+### Карта контроллеров <span id="controller-map"></span>
 
 Вы можете сконфигурировать [[yii\base\Application::controllerMap|карту контроллеров]] для того, чтобы преодолеть
 описанные выше ограничения именования ID контроллеров и названий классов. В основном это очень удобно, когда вы используете
@@ -172,7 +172,7 @@ ID контроллеров также могут содержать префи�
 ]
 ```
 
-### Контроллер по умолчанию <a name="default-controller"></a>
+### Контроллер по умолчанию <span id="default-controller"></span>
 
 Каждое приложение имеет контроллер по умолчанию, указанный через свойство [[yii\base\Application::defaultRoute]].
 Когда в запросе не указан [маршрут](#ids-routes), тогда будет использован маршрут указанный в данном свойстве.
@@ -188,7 +188,7 @@ ID контроллеров также могут содержать префи�
 ```
 
 
-## Создание действий <a name="creating-actions"></a>
+## Создание действий <span id="creating-actions"></span>
 
 Создание действий не представляет сложностей также как и объявление так называемых *методов действий* в классе контроллера. Метод действия
 это *public* метод, имя которого начинается со слова `action`. Возвращаемое значение метода действия представляет собой ответные данные,
@@ -214,7 +214,7 @@ class SiteController extends Controller
 ```
 
 
-### ID действий <a name="action-ids"></a>
+### ID действий <span id="action-ids"></span>
 
 В основном действие разрабатывается для какой-либо конкретной обработки ресурса. По этой причине, ID действий в основном
 являются глаголами, такими как `view`, `update`, и т. д.
@@ -229,7 +229,7 @@ class SiteController extends Controller
 Отдельные действия, с другой стороны, в основном создаются для использования в различных контроллерах или при использовании в [расширениях](structure-extensions.md).
 
 
-### Встроенные действия <a name="inline-actions"></a>
+### Встроенные действия <span id="inline-actions"></span>
 
 Встроенные действия это те действия, которые определены в рамках методов контроллера, как мы это уже обсудили.
 
@@ -250,7 +250,7 @@ class SiteController extends Controller
 использовать некоторые действия в различных местах, или если вы хотите перераспределить действия, вы должны определить его как *отдельной действие*.
 
 
-### Отдельные действия <a name="standalone-actions"></a>
+### Отдельные действия <span id="standalone-actions"></span>
 
 Отдельные действия определяются в качестве классов, унаследованных от [[yii\base\Action]] или его потомков.
 Например, в Yii релизах, присутствуют [[yii\web\ViewAction]] и [[yii\web\ErrorAction]], оба из которых являются
@@ -298,7 +298,7 @@ class HelloWorldAction extends Action
 ```
 
 
-### Результаты действий <a name="action-results"></a>
+### Результаты действий <span id="action-results"></span>
 
 Возвращаемое значение методов действий или метода `run()` отдельного действия очень важно. Оно является результатом
 выполнения соответствующего действия.
@@ -324,7 +324,7 @@ public function actionForward()
 ```
 
 
-### Параметры действий <a name="action-parameters"></a>
+### Параметры действий <span id="action-parameters"></span>
 
 Методы действий для встроенных действий и методы `run()` для отдельных действий могут принимать параметры,
 называемые *параметры действий*. Их значения берутся из запросов. Для [[yii\web\Application|Веб приложений]],
@@ -375,7 +375,7 @@ public function actionView(array $id, $version = null)
 о параметрах консольных приложений представлено в секции [Консольные команды](tutorial-console.md).
 
 
-### Действие по умолчанию <a name="default-action"></a>
+### Действие по умолчанию <span id="default-action"></span>
 
 Каждый контроллер имеет действие, указанное через свойство [[yii\base\Controller::defaultAction]].
 Когда [маршрут](#ids-routes) содержит только ID контроллера, то подразумевается, что действие контроллера по умолчанию
@@ -401,7 +401,7 @@ class SiteController extends Controller
 ```
 
 
-## Жизненный цикл контроллера <a name="controller-lifecycle"></a>
+## Жизненный цикл контроллера <span id="controller-lifecycle"></span>
 
 При обработке запроса, [приложение](structure-applications.md) создаст контроллер, основываясь на 
 запрошенном [маршруте](#routes). Для выполнения запроса, контроллер пройдет через следующие этапы
@@ -425,7 +425,7 @@ class SiteController extends Controller
 6. Приложение, получив результат выполнения действия, присвоит его объекту [response](runtime-responses.md).
 
 
-## Лучшие практики <a name="best-practices"></a>
+## Лучшие практики <span id="best-practices"></span>
 
 В хорошо-организованных приложения, контроллеры обычно очень тонкие, и содержат лишь несколько строк кода.
 Если ваш контроллер слишком сложный, это обычно означает, что вам надо провести рефакториг его и перенести какой-либо код
diff --git a/docs/guide-ru/structure-entry-scripts.md b/docs/guide-ru/structure-entry-scripts.md
index 29a5d54..3cbea24 100644
--- a/docs/guide-ru/structure-entry-scripts.md
+++ b/docs/guide-ru/structure-entry-scripts.md
@@ -23,7 +23,7 @@
 * Вызывают метод [[yii\base\Application::run()]] приложения для обработки входящего запроса.
 
 
-## Веб приложения <a name="web-applications"></a>
+## Веб приложения <span id="web-applications"></span>
 
 Ниже представлен код входного скрипта для [базового шаблона приложения](start-installation.md).
 
@@ -47,7 +47,7 @@ $config = require(__DIR__ . '/../config/web.php');
 ```
 
 
-## Консольные приложения <a name="console-applications"></a>
+## Консольные приложения <span id="console-applications"></span>
 
 Ниже представлен аналогичный код входного скрипта консольного приложения:
 
@@ -83,7 +83,7 @@ exit($exitCode);
 ```
 
 
-## Объявление констант <a name="defining-constants"></a>
+## Объявление констант <span id="defining-constants"></span>
 
 Входные скрипты являются наилучшим местом для объявления глобальных констант. Yii поддерживают следующие три константы:
 
diff --git a/docs/guide-ru/structure-extensions.md b/docs/guide-ru/structure-extensions.md
index b8a9677..6b570cf 100644
--- a/docs/guide-ru/structure-extensions.md
+++ b/docs/guide-ru/structure-extensions.md
@@ -11,7 +11,7 @@
   общего назначения, которые могут быть использованы с Yii, мы будем называть "пакет" или "библиотека".
 
 
-## Использование расширений <a name="using-extensions"></a>
+## Использование расширений <span id="using-extensions"></span>
 
 Чтобы использовать расширение, вам необходимо установить его. Большинство расширений распространяются как пакеты
 [Composer](https://getcomposer.org/), которые могут быть установлены посредством следующих двух шагов:
@@ -68,7 +68,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 > Информация: Классы расширений автоматически загружаются [автозагрузчиком классов Yii](concept-autoloading.md).
 
 
-### Ручная установка расширений <a name="installing-extensions-manually"></a>
+### Ручная установка расширений <span id="installing-extensions-manually"></span>
 
 В некоторых редких случаях вы можете захотеть установить некоторые расширения вручную, а не полагаться на Composer.
 Чтобы сделать это, вы должны
@@ -92,7 +92,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 ```
 
 
-## Создание расширений <a name="creating-extensions"></a>
+## Создание расширений <span id="creating-extensions"></span>
 
 Вы можете захотеть создать расширение, когда чувствуете необходимость поделиться своим хорошим кодом с другими людьми.
 Расширение может содержать любой код, который вам нравится, например, класс-помощник, виджет, модуль и т.д.
@@ -110,7 +110,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
    пользователи могли найти и установить ваше расширение, используя Composer.
 
 
-### `composer.json` <a name="composer-json"></a>
+### `composer.json` <span id="composer-json"></span>
 
 Каждый пакет Composer должен иметь файл `composer.json` в своей корневой директории. Этот файл содержит метаданные о
 пакете. Вы можете найти полную спецификацию по этому файлу в
@@ -158,7 +158,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 ```
 
 
-#### Название пакета <a name="package-name"></a>
+#### Название пакета <span id="package-name"></span>
 
 Каждый пакет Composer должен иметь название, которое однозначно идентифицирует пакет среди остальных. Название пакета
 имеет формат `имяРазработчика/названиеПроекта`. Например, в пакете `yiisoft/yii2-imagine`, `yiisoft` является именем
@@ -170,7 +170,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 `моёИмя/yii2-mywidget`. Это позволит пользователям легче определить, что пакет является расширением Yii2.
 
 
-#### Тип пакета <a name="package-type"></a>
+#### Тип пакета <span id="package-type"></span>
 
 Важно указать тип пакета вашего расширения как `yii2-extension`, чтобы пакет можно было распознать как расширение Yii во
 время установки.
@@ -181,7 +181,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 [[yii\base\Application::extensions]]).
 
 
-#### Зависимости <a name="dependencies"></a>
+#### Зависимости <span id="dependencies"></span>
 
 Ваше расширение зависит от Yii (естественно). Вы можете посмотреть список зависимостей в секции `require`, входящей в
 файл `composer.json`. Если ваше расширение зависит от других расширений или сторонних библиотек, то вы также должны их
@@ -189,7 +189,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 зависимости. Используйте стабильные версии зависимостей, когда будет выпущена стабильная версия вашего расширения.
 
 
-#### Автозагрузка классов <a name="class-autoloading"></a>
+#### Автозагрузка классов <span id="class-autoloading"></span>
 
 Для того, чтобы ваши классы были загружены автозагрузчиком классов Yii или автозагрузчиком классов Composer, вы должны
 внести секцию `autoload` в файл `composer.json`, как показано ниже:
@@ -213,14 +213,14 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 Например, указанная в секции `autoload` запись будет соответствовать псевдониму `@yii/imagine`.
 
 
-### Рекомендованные практики <a name="recommended-practices"></a>
+### Рекомендованные практики <span id="recommended-practices"></span>
 
 Поскольку расширения предназначены для использования другими людьми, вам придётся приложить дополнительные усилия в
 процессе разработки. Ниже приведены некоторые общие и рекомендованные практики для создания высококачественных
 расширений.
 
 
-#### Пространства имён <a name="namespaces"></a>
+#### Пространства имён <span id="namespaces"></span>
 
 Во избежание конфликтов имён, а также для того, чтобы ваши классы были автозагружаемыми, вы должны следовать
 [стандарту PSR-4](http://www.php-fig.org/psr/psr-4/) или [стандарту PSR-0](http://www.php-fig.org/psr/psr-0/) в
@@ -234,7 +234,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 использования в коде ядра Yii.
 
 
-#### Классы начальной загрузки <a name="bootstrapping-classes"></a>
+#### Классы начальной загрузки <span id="bootstrapping-classes"></span>
 
 Иногда вы можете захотеть выполнить некоторый код своего расширения в стадии
 [начальной загрузки](runtime-bootstrapping.md) приложения. Например, ваше расширение может ответить на событие
@@ -279,7 +279,7 @@ class MyBootstrapClass implements BootstrapInterface
 запроса.
 
 
-#### Работа с базами данных <a name="working-with-databases"></a>
+#### Работа с базами данных <span id="working-with-databases"></span>
 
 Ваше расширение может иметь доступ к базам данных. Не думайте, что приложения, которые используют ваше расширение,
 всегда используют `Yii::$db` в качестве соединения с БД. Вместо этого вам следует объявить свойство `db` в классах,
@@ -294,7 +294,7 @@ class MyBootstrapClass implements BootstrapInterface
 - избегать использования [Active Record](db-active-record.md) в миграциях.
 
 
-#### Использование ресурсов <a name="using-assets"></a>
+#### Использование ресурсов <span id="using-assets"></span>
 
 Если ваше расширение является виджетом или модулем, то есть вероятность, что оно потребует некоторых
 [ресурсов](structure-assets.md) для работы. Например, модуль может отображать некоторые страницы, которые содержат
@@ -309,7 +309,7 @@ class MyBootstrapClass implements BootstrapInterface
 людей.
 
 
-### Интернационализация и локализация <a name="i18n-l10n"></a>
+### Интернационализация и локализация <span id="i18n-l10n"></span>
 
 Ваше расширение может быть использовано в приложениях, поддерживающих разные языки! Поэтому, если ваше расширение
 отображает содержимое конечному пользователю, вы должны попробовать
@@ -324,7 +324,7 @@ class MyBootstrapClass implements BootstrapInterface
 Для более подробной информации вы можете обратиться к разделу [Интернационализация](tutorial-i18n.md)
 
 
-#### Тестирование <a name="testing"></a>
+#### Тестирование <span id="testing"></span>
 
 Вы хотите, чтобы ваше расширение было стабильным и не приносило проблем другим людям. Для достижения этой цели вы
 должны протестировать ваше расширение перед его публикацией.
@@ -335,12 +335,12 @@ class MyBootstrapClass implements BootstrapInterface
 функциональные тесты. Для более подробной информации вы можете обратиться в раздел [Тестирование](test-overview.md).
 
 
-#### Версионирование <a name="versioning"></a>
+#### Версионирование <span id="versioning"></span>
 
 Вы можете давать каждому выпуску вашего расширения номер версии (например, `1.0.1`). Мы рекомендуем вам придерживаться
 практик [семантического версионирования](http://semver.org) при определении, какой номер версии должен использоваться.
 
-#### Публикация <a name="releasing"></a>
+#### Публикация <span id="releasing"></span>
 
 Чтобы позволить другим людям узнать о вашем расширении, необходимо опубликовать его.
 
@@ -372,7 +372,7 @@ class MyBootstrapClass implements BootstrapInterface
   Вы можете обратиться к [стилю кодирования фреймворка](https://github.com/yiisoft/yii2/wiki/Core-framework-code-style).
 
 
-## Базовые расширения <a name="core-extensions"></a>
+## Базовые расширения <span id="core-extensions"></span>
 
 Yii предоставляет следующие базовые расширения, которые разрабатывает и поддерживает команда разработчиков Yii. Они все
 зарегистрированы на [Packagist](https://packagist.org/) и могут быть легко установлены, как описано в подразделе
diff --git a/docs/guide-ru/structure-filters.md b/docs/guide-ru/structure-filters.md
index c08a9e2..690d8dc 100644
--- a/docs/guide-ru/structure-filters.md
+++ b/docs/guide-ru/structure-filters.md
@@ -9,7 +9,7 @@
 Фильтр может состоять из *пре-фильтра* (фильтрующая логика применяется *перед* действиями) и/или
 *пост-фильтра* (логика, применяемая *после* действий).
 
-## Использование фильтров <a name="using-filters"></a>
+## Использование фильтров <span id="using-filters"></span>
 
 Фильтры являются особым видом [поведений](concept-behaviors.md). Их использование ничем не отличается от
 [использования поведений](concept-behaviors.md#attaching-behaviors). Вы можете объявлять фильтры в классе контроллера
@@ -58,7 +58,7 @@ public function behaviors()
     - Применяются фильтры объявленные в приложении, в порядке обратном, перечисленному в `behaviors()`.
 
 
-## Создание фильтров <a name="creating-filters"></a>
+## Создание фильтров <span id="creating-filters"></span>
 
 При создании нового фильтра действия, необходимо наследоваться от [[yii\base\ActionFilter]] и переопределить методы
 [[yii\base\ActionFilter::beforeAction()|beforeAction()]] и/или [[yii\base\ActionFilter::afterAction()|afterAction()]].
@@ -94,13 +94,13 @@ class ActionTimeFilter extends ActionFilter
 ```
 
 
-## Стандартные фильтры <a name="core-filters"></a>
+## Стандартные фильтры <span id="core-filters"></span>
 
 Yii предоставляет набор часто используемых фильтров, которые находятся, в основном, в пространстве имен `yii\filters`.
 Далее вы будете кратко ознакомлены с ними.
 
 
-### [[yii\filters\AccessControl|AccessControl]] <a name="access-control"></a>
+### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
 
 Фильтр `AccessControl` обеспечивает простое управление доступом, основанное на наборе правил [[yii\filters\AccessControl::rules|rules]].
 В частности, перед тем как действие начинает выполнение, фильтр `AccessControl` проверяет список указанных правил, пока не
@@ -136,7 +136,7 @@ public function behaviors()
 Более подробно об управлении доступом вы можете прочитать в разделе [Авторизация](security-authorization.md).
 
 
-### Фильтр метода аутентификации<a name="auth-method-filters"></a>
+### Фильтр метода аутентификации<span id="auth-method-filters"></span>
 
 Фильтр метода аутентификации используется для аутентификации пользователя различными способами, такими как
 [HTTP Basic Auth](http://en.wikipedia.org/wiki/Basic_access_authentication), [OAuth 2](http://oauth.net/2/).
@@ -164,7 +164,7 @@ public function behaviors()
 RESTful, смотрите в разделе [Authentication](rest-authentication.md).
 
 
-### [[yii\filters\ContentNegotiator|ContentNegotiator]] <a name="content-negotiator"></a>
+### [[yii\filters\ContentNegotiator|ContentNegotiator]] <span id="content-negotiator"></span>
 
 ContentNegotiator поддерживает согласование формата ответа и языка приложения. Он пытается определить формат ответа
 и/или язык, путём проверки `GET` параметров и HTTP заголовка `Accept`.
@@ -225,7 +225,7 @@ use yii\web\Response;
 
 
 
-### [[yii\filters\HttpCache|HttpCache]] <a name="http-cache"></a>
+### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
 
 Фильтр HttpCache реализовывает кэширование на стороне клиента, используя HTTP заголовки `Last-Modified` и `Etag`:
 
@@ -250,7 +250,7 @@ public function behaviors()
 Подробнее об использовании HttpCache можно прочитать в разделе [HTTP Кэширование](caching-http.md).
 
 
-### [[yii\filters\PageCache|PageCache]] <a name="page-cache"></a>
+### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
 
 Фильтр PageCache реализует кэширование целых страниц на стороне сервера. В следующем примере PageCache применяется только
 в действии `index` для кэширования всей страницы в течение не более чем 60 секунд или пока количество записей в таблице `post`
@@ -282,14 +282,14 @@ public function behaviors()
 Подробнее об использовании PageCache читайте в разделе [Кэширование страниц](caching-page.md).
 
 
-### [[yii\filters\RateLimiter|RateLimiter]] <a name="rate-limiter"></a>
+### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
 
 Ограничитель количества запросов в единицу времени *(RateLimiter)* реализует алгоритм ограничения запросов, основанный на
 [алгоритме leaky bucket](http://en.wikipedia.org/wiki/Leaky_bucket). В основном, он используется при создании RESTful API.
 Подробнее об использовании данного фильтра пожно прочитать в разделе [Ограничение запросов](rest-rate-limiting.md).
 
 
-### [[yii\filters\VerbFilter|VerbFilter]] <a name="verb-filter"></a>
+### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
 
 Фильтр по типу запроса *(VerbFilter)* проверяет, разрешено ли запросам HTTP выполнять затребованные ими действия.
 Если нет, то будет выброшено исключение HTTP с кодом 405. В следующем примере в фильтре по типу запроса указан обычный
@@ -315,7 +315,7 @@ public function behaviors()
 }
 ```
 
-### [[yii\filters\Cors|Cors]] <a name="cors"></a>
+### [[yii\filters\Cors|Cors]] <span id="cors"></span>
 
 Совместное использование разными источниками [CORS](https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS) - это
 механизм, который позволяет использовать различные ресурсы (шрифты, скрипты, и т.д.) с отличных от основного сайта доменов.
diff --git a/docs/guide-ru/structure-modules.md b/docs/guide-ru/structure-modules.md
index 18024fb..075523c 100644
--- a/docs/guide-ru/structure-modules.md
+++ b/docs/guide-ru/structure-modules.md
@@ -4,7 +4,7 @@
 Модули - это законченные программные блоки, состоящие из [моделей](structure-models.md), [представлений](structure-views.md), [контроллеров](structure-controllers.md) и других вспомогательных компонентов. При установке модулей в [приложение](structure-applications.md), конечный пользователь получает доступ к их контроллерам. По этой причины модули часто рассматриваются как миниатюрные приложения. В отличии от [приложений](structure-applications.md), модули нельзя развертывать отдельно. Модули должны находиться внутри приложений.
 
 
-## Создание модулей <a name="creating-modules"></a>
+## Создание модулей <span id="creating-modules"></span>
 
 Модуль помещается в директорию, которая называется [[yii\base\Module::basePath|базовым путем]] модуля. Так же как и в директории приложения, в этой директории существуют поддиректории `controllers`, `models`, `views` и другие, в которых размещаются контроллеры, модели, представления и другие элементы. В следующем примере показано примерное содержимое модуля:
 
@@ -21,7 +21,7 @@ forum/
 ```
 
 
-### Классы модулей <a name="module-classes"></a>
+### Классы модулей <span id="module-classes"></span>
 
 Каждый модуль объявляется с помощью уникального класса, который наследуется от [[yii\base\Module]]. Этот класс должен быть помещен в корне [[yii\base\Module::basePath|базового пути]] модуля и поддерживать [автозагрузку](concept-autoloading.md). Во время доступа к модулю будет создан один экземпляр соответствующего класса модуля. Как и [экземпляры приложения](structure-applications.md), экземпляры модулей нужны, чтобы код модулей мог получить общий доступ к данным и компонентам.
 
@@ -68,7 +68,7 @@ return [
 ```
 
 
-### Контроллеры в модулях <a name="controllers-in-modules"></a>
+### Контроллеры в модулях <span id="controllers-in-modules"></span>
 
 При создании контроллеров модуля принято помещать классы контроллеров в подпространство `controllers` пространства имен класса модуля. Это также подразумевает, что файлы классов контроллеров должны располагаться в директории `controllers` [[yii\base\Module::basePath|базового пути]] модуля. Например, чтобы описать контроллер `post` в модуле `forum` из предыдущего примера, класс контроллера объявляется следующим образом:
 
@@ -86,14 +86,14 @@ class PostController extends Controller
 Изменить пространство имен классов контроллеров можно задав свойство [[yii\base\Module::controllerNamespace]]. Если какие-либо контроллеры выпадают из этого пространства имен, доступ к ним можно осуществить, настроив свойство [[yii\base\Module::controllerMap]], аналогично тому, [как это делается в приложении](structure-applications.md#controller-map).
 
 
-### Представления в модулях <a name="views-in-modules"></a>
+### Представления в модулях <span id="views-in-modules"></span>
 
 Представления модуля также следует поместить в в поддиректорию `views` [[yii\base\Module::basePath|базового пути]] модуля. Виды, которые рендерит контроллер модуля, должны располагаться в директории `views/ControllerID`, где `ControllerID` соответствует [идентификатору контроллера](structure-controllers.md#routes). Например, если контроллер реализуется классом `PostController`, представления следует разместить в поддиректории `views/post` [[yii\base\Module::basePath|базового пути]] модуля.
 
 В модуле можно задать [шаблон](structure-views.md#layouts), который будет использоваться для рендеринга всех представлений контроллерами модуля. По умолчанию шаблон помещается в директорию `views/layouts`, а свойство [[yii\base\Module::layout]] должно указывать на имя этого шаблона. Если не задать свойство `layout`, модуль будет использовать шаблон, заданный в приложении.
 
 
-## Использование модулей <a name="using-modules"></a>
+## Использование модулей <span id="using-modules"></span>
 
 Чтобы задействовать модуль в приложении, достаточно включить его в свойство [[yii\base\Application::modules|modules]] в конфигурации приложения. Следующий код в [конфигурации приложения](structure-applications.md#application-configurations) задействует модуль `forum`:
 
@@ -111,12 +111,12 @@ class PostController extends Controller
 Свойству [[yii\base\Application::modules|modules]] присваивается массив, содержащий конфигурацию модуля. Каждый ключ массива представляет собой *идентификатор модуля*, который однозначно определяет модуль среди других модулей приложения, а соответствующий массив - это [конфигурация](concept-configurations.md) для создания модуля.
 
 
-### Маршруты <a name="routes"></a>
+### Маршруты <span id="routes"></span>
 
 Как маршруты приложения используются для обращения к контроллерам приложения, [маршруты](structure-controllers.md#routes) модуля используются, чтобы обращаться к контроллерам этого модуля. Маршрут контроллера в модуле должен начинаться с идентификатора модуля, за которым следуют идентификатор контроллера и идентификатор действия. Например, если в приложении задействован модуль `forum`, то маршрут `forum/post/index` соответствует действию `index` контроллера `post` этого модуля. Если маршрут состоит только из идентификатора модуля, то контроллер и действие определяются исходя из свойства [[yii\base\Module::defaultRoute]], которое по умолчанию равно `default`. Таким образом, маршрут `forum` соответствует контроллеру `default` модуля `forum`.
 
 
-### Получение доступа к модулям <a name="accessing-modules"></a>
+### Получение доступа к модулям <span id="accessing-modules"></span>
 
 Зачастую внутри модуля может потребоваться доступ к экземпляру [класса модуля](#module-classes), через который получаются идентификатор модуля, его параметры, компоненты, и т. п. Это можно сделать с помощью следующей конструкции:
 
@@ -147,7 +147,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-### Предзагрузка модулей <a name="bootstrapping-modules"></a>
+### Предзагрузка модулей <span id="bootstrapping-modules"></span>
 
 Может потребоваться запускать некоторые модули при каждом запросе. Модуль [[yii\debug\Module|debug]] - один из таких модулей. Для этого список идентификаторов таких модулей необходимо указать в свойстве [[yii\base\Application::bootstrap|bootstrap]] приложения.
 
@@ -166,7 +166,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-## Вложенные модули <a name="nested-modules"></a>
+## Вложенные модули <span id="nested-modules"></span>
 
 Модули могут вкладываться друг в друга без ограничений по глубине. Иными словами, в модуле содержится модуль, в который входит еще один модуль, и т. д. Первый модуль называется *родительским*, остальные - *дочерними*. Дочерние модули объявляются в свойстве [[yii\base\Module::modules|modules]] родительских модулей. Например,
 
@@ -194,7 +194,7 @@ class Module extends \yii\base\Module
 > Информация: Метод [[yii\base\Module::getModule()|getModule()]] возвращает только те дочерние модули, которые принадлежат родительскому модулю непосредственно. В свойстве [[yii\base\Application::loadedModules]] содержится список загруженных модулей, в том числе прямых и косвенных потомков, с индексированием по имени класса.
 
 
-## Лучшие практики<a name="best-practices"></a>
+## Лучшие практики<span id="best-practices"></span>
 
 Модули лучше всего подходят для крупных приложений, функционал которых можно разделить на несколько групп, в каждой из которых функции тесно связаны между собой. Каждая группа функций может разрабатываться в виде модуля, над которым работает один разработчик или одна команда.
 
diff --git a/docs/guide-ru/structure-views.md b/docs/guide-ru/structure-views.md
index 05969be..0fa0395 100644
--- a/docs/guide-ru/structure-views.md
+++ b/docs/guide-ru/structure-views.md
@@ -6,7 +6,7 @@
 и код PHP, отвечающий за представление и внешний вид. Виды управляются компонентом приложения [[yii\web\View|view]], который содержит часто используемые 
 методы для упорядочивания видов и их рендеринга. Для упрощения, мы будем называть виды - шаблоны просто видами.
 
-## Создание видов <a name="creating-views"></a>
+## Создание видов <span id="creating-views"></span>
 
 Как мы упоминали ранее, вид - это просто PHP скрипт, состоящий из  PHP и HTML кодa. В примере ниже - вид, который представляет форму авторизации. 
 Как видите, PHP код здесь генерирует динамический контент, как, например, заголовок страницы и саму форму, тогда как HTML организует полученные данные в готовую html страницу.
@@ -41,7 +41,7 @@ $this->title = 'Вход';
 > Совет: Переданные переменные могут быть перечислены в блоке комментария в начале скрипта, чтобы их смогли распознать IDE. К тому же, это хороший способ добавления документации в вид.  
 
 
-### Безопасность <a name="security"></a>
+### Безопасность <span id="security"></span>
 
 При создании видов, которые генерируют HTML страницы, важно кодировать и/или фильтровать данные, которые приходят от пользователей перед тем как их показывать. В противном случае ваше приложение может стать жертвой атаки типа [межсайтовый скриптинг](https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3)
 
@@ -72,7 +72,7 @@ use yii\helpers\HtmlPurifier;
 > Совет: Несмотря на то, что HTMLPurifier отлично справляется с тем, чтобы сделать вывод безопасным, работает он довольно медленно. Если от приложения требуется высокая производительность, рассмотрите возможность [кэширования](caching-overview.md) отфитрованного результата 
 
 
-### Организация видов <a name="organizing-views"></a>
+### Организация видов <span id="organizing-views"></span>
 
 Как и для [контроллеров](structure-controllers.md), и [моделей](structure-models.md), для видов тоже есть определенные соглашения в их организации.
 
@@ -83,7 +83,7 @@ use yii\helpers\HtmlPurifier;
 В контроллерах и виджетах вы можете изменить папки видов по умолчанию, переопределив метод [[yii\base\ViewContextInterface::getViewPath()]].
 
 
-## Рендеринг видов <a name="rendering-views"></a>
+## Рендеринг видов <span id="rendering-views"></span>
 
 Вы можете рендерить виды в [контроллерах](structure-controllers.md), [widgets](structure-widgets.md), или из любого другого места, вызывая методы рендеринга видов. Методы вызываются приблизительно так, как это показано в примере ниже,
 
@@ -97,7 +97,7 @@ methodName($view, $params = [])
 ```
 
 
-### Рендеринг в контроллерах <a name="rendering-in-controllers"></a>
+### Рендеринг в контроллерах <span id="rendering-in-controllers"></span>
 
 Внутри [контроллеров](structure-controllers.md) можно вызывать следующие методы рендеринга видов:
 
@@ -137,7 +137,7 @@ class PostController extends Controller
 ```
 
 
-### Рендеринг в виджетах <a name="rendering-in-widgets"></a>
+### Рендеринг в виджетах <span id="rendering-in-widgets"></span>
 Внутри [виджетов](structure-widgets.md), вы можете вызывать следующие методы для рендеринга видов.
 
 * [[yii\base\Widget::render()|render()]]: рендерит [именованный вид](#named-views).
@@ -167,7 +167,7 @@ class ListWidget extends Widget
 ```
 
 
-### Рендеринг в видах <a name="rendering-in-views"></a>
+### Рендеринг в видах <span id="rendering-in-views"></span>
 
 Вы можете рендерить вид внутри другого вида используя методы, которые предоставляет [[yii\base\View|компонент вида]]:
 
@@ -183,7 +183,7 @@ class ListWidget extends Widget
 ```
 
 
-### Рендеринг в других местах <a name="rendering-in-other-places"></a>
+### Рендеринг в других местах <span id="rendering-in-other-places"></span>
 
 Вы может получить доступ к  [[yii\base\View|виду]] как компоненту приложения вот так: 
 `Yii::$app->view`,  а затем вызвать вышеупомянутые методы, чтобы отрендерить вид. Например,
@@ -194,7 +194,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 ```
 
 
-### Именованные виды <a name="named-views"></a>
+### Именованные виды <span id="named-views"></span>
 
 При рендеринге вида, вы можете указать нужный вид, используя как имя вида, так и путь к файлу/алиас. В большинстве случаев вы будете использовать первый вариант, т.к. он более нагляден и гибок. Мы называем виды, которые были вызваны с помощью сокращенного имени *именованные виды*.
 
@@ -212,7 +212,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 В соответствии с вышесказанным, вызов `$this->render('view')` в контроллере `app\controllers\PostController` будет рендерить файл `@app/views/post/view.php`, а вызов `$this->render('_overview')` в этом виде будет рендерить файл `@app/views/post/_overview.php`.
 
 
-### Доступ к данным из видов <a name="accessing-data-in-views"></a>
+### Доступ к данным из видов <span id="accessing-data-in-views"></span>
 
 Данные можно передавать в вид явно или подгружать их динамически, обращаясь к контексту из вида.
 
@@ -237,7 +237,7 @@ ID контроллера: <?= $this->context->id ?>
 Явная передача данных в вид обычно более предпочтительна, т.к. она делает виды независимыми от контекста. Однако, у нее есть недостаток - необходимость каждый раз вручную строить массив данных, что может быть довольно утомительно и привести к ошибкам, если вид рендерится в разных местах.
 
 
-### Передача данных между видами <a name="sharing-data-among-views"></a>
+### Передача данных между видами <span id="sharing-data-among-views"></span>
 
 [[yii\base\View|Компонент вида]] имеет свойство [[yii\base\View::params|params]], которое вы можете использовать для обмена данными между видами.
 
@@ -256,11 +256,11 @@ $this->params['breadcrumbs'][] = 'О нас';
 ```
 
 
-## Шаблоны <a name="layouts"></a>
+## Шаблоны <span id="layouts"></span>
 
 Шаблоны - особый тип видов, которые представляют собой общие части разных видов. Например, у большинства страниц веб приложений одинаковые верх и низ (хедер и футер). Можно, конечно, указать их и в каждом виде, однако лучше сделать это один раз, в шаблоне, и затем, при рендеринге, включать уже отрендеренный вид в заданное место шаблона.
 
-### Создание шаблонов <a name="creating-layouts"></a>
+### Создание шаблонов <span id="creating-layouts"></span>
 
 Поскольку шаблоны это виды, их можно создавать точно так же, как и обычные виды. По умолчанию шаблоны хранятся в папке `@app/views/layouts`. Шаблоны, которые используются в конкретном [модуле](structure-modules.md), хранятся в подпапке `views/layouts` [[yii\base\Module::basePath|папки модуля]]. Вы можете изменить папку шаблонов по умолчанию, используя свойство [[yii\base\Module::layoutPath]] приложения или модулей.
 
@@ -309,7 +309,7 @@ use yii\helpers\Html;
   Он вызывает событие [[yii\web\View::EVENT_END_BODY|EVENT_END_BODY]] и генерирует метку, которая будет заменена зарегистрированным HTML кодом (например, Javascript'ом), который нужно разместить в конце `<body>` страницы.
 
 
-### Доступ к данным в шаблонах <a name="accessing-data-in-layouts"></a>
+### Доступ к данным в шаблонах <span id="accessing-data-in-layouts"></span>
 
 Внутри шаблона, у вас есть доступ к двум предопределенным переменным: `$this` и `$content`. Первая представляет собой 
  [[yii\base\View|вид]] компонент, как и в обычных видах, тогда как последняя содержит результат рендеринга вида, который рендерится при вызове метода [[yii\base\Controller::render()|render()]] в контроллерах.
@@ -318,7 +318,7 @@ use yii\helpers\Html;
 передать данные из вида шаблону, вы можете использовать метод, описанный в [передаче данных между видами](#sharing-data-among-views).
 
 
-### Использование шаблонов <a name="using-layouts"></a>
+### Использование шаблонов <span id="using-layouts"></span>
 
 Как было описано в секции [Рендеринг в контроллерах](#rendering-in-controllers), когда вы рендерите вид, вызывая метод [[yii\base\Controller::render()|render()]] из контроллера, к результату рендеринга будет применен шаблон. По умолчанию будет использован шаблон `@app/views/layouts/main.php` .
 
@@ -363,7 +363,7 @@ Yii определяет какой шаблон использовать для
 
 Если у значения `layout` нет расширения, будет использовано расширение по умолчанию - `.php`.
 
-### Вложенные шаблоны <a name="nested-layouts"></a>
+### Вложенные шаблоны <span id="nested-layouts"></span>
 
 Иногда нужно вложить один шаблон в другой. Например, в разных разделах сайта используются разные шаблоны, но у всех 
 этих шаблонов есть основная разметка, которая определяет HTML5 структуру страницы. Вы можете использовать вложенные шаблоны, 
@@ -385,7 +385,7 @@ Yii определяет какой шаблон использовать для
 Используя подход выше, вы можете вкладывать шаблоны друг в друга в несколько уровней.
 
 
-### Использование блоков <a name="using-blocks"></a>
+### Использование блоков <span id="using-blocks"></span>
 
 Блоки позволяют "записывать" контент в одном месте, а показывать в другом. Они часто используются совместно с шаблонами. 
 Например, вы определяете (записываете) блок в виде и отображаете его в шаблоне.
@@ -445,7 +445,7 @@ Yii определяет какой шаблон использовать для
 ```
 
 
-## Использование компонентов вида <a name="using-view-components"></a>
+## Использование компонентов вида <span id="using-view-components"></span>
 
 [[yii\base\View|Компоненты вида]] дают много возможностей. Несмотря на то, что существует возможность создавать индивидуальные экземпляры [[yii\base\View]] или дочерних классов, в большинстве случаев используется 
 сам компонент `view` приложения. Вы можете сконфигурировать компонент в [конфигурации приложения](structure-applications.md#application-configurations) таким образом:
@@ -475,7 +475,7 @@ Yii определяет какой шаблон использовать для
 Также удобно пользоваться мелкими, но удобными фичами при разработке веб страниц, которые приведены ниже.
 
 
-### Установка заголовков страниц <a name="setting-page-titles"></a>
+### Установка заголовков страниц <span id="setting-page-titles"></span>
 
 У каждой страницы должен быть заголовок. Обычно заголовок выводится в [шаблоне](#layouts). Однако на практике 
 заголовок часто определяется в видах, а не в шаблонах. Чтобы передать заголовок из вида в шаблон, используется свойство [[yii\web\View::title|title]]. 
@@ -495,7 +495,7 @@ $this->title = 'Мой заголовок страницы';
 ```
 
 
-### Регистрация мета-тэгов <a name="registering-meta-tags"></a>
+### Регистрация мета-тэгов <span id="registering-meta-tags"></span>
 
 На веб страницах обычно есть мета-тэги, которые часто используются различными сервисами. Как и заголовки страниц, 
 мета-тэги выводятся в `<head>` и обычно генерируются в шаблонах.
@@ -530,7 +530,7 @@ $this->registerMetaTag(['name' => 'description', 'content' => 'Это сайт �
 ```
 
 
-### Регистрация тэгов link <a name="registering-link-tags"></a>
+### Регистрация тэгов link <span id="registering-link-tags"></span>
 
 Как и [мета тэги](#adding-meta-tags), link тэги полезны во многих случаях, как, например, задание уникальной favicon, указание на RSS фид или указание OpenID сервера для авторизации. С link тэгами можно работать аналогично работе с мета тэгами, вызывая метод [[yii\web\View::registerLinkTag()]]. Например, 
 вы можете зарегистрировать link тэг в виде таким образом:
@@ -554,7 +554,7 @@ $this->registerLinkTag([
 [[yii\web\View::registerLinkTag()|registerLinkTag()]] чтобы избежать дублирования link тэгов одного типа.
 
 
-## События в видах <a name="view-events"></a>
+## События в видах <span id="view-events"></span>
 
 [[yii\base\View|Компонент вида]] вызывает несколько событий во время рендеринга. 
 Вы можете задавать обработчики для этих событий чтобы добавлять контент 
@@ -579,7 +579,7 @@ $this->registerLinkTag([
 ```
 
 
-## Рендеринг статических страниц <a name="rendering-static-pages"></a>
+## Рендеринг статических страниц <span id="rendering-static-pages"></span>
 
 Статическими страницами мы считаем страницы, которые содержат в основном статические данные и для формирования 
 которых не нужно строить динамические данные в контроллерах.
@@ -624,7 +624,7 @@ http://localhost/index.php?r=site/page&view=about
 Вы можете сконфирурировать параметр [[yii\web\ViewAction::viewPrefix]] чтобы изменить папку в которой ищется вид.
 
 
-## Полезные советы <a name="best-practices"></a>
+## Полезные советы <span id="best-practices"></span>
 
 Виды отвечают за представление данных моделей в формате, понятным конечным пользователям. В целом, виды
 
diff --git a/docs/guide-ru/structure-widgets.md b/docs/guide-ru/structure-widgets.md
index 4d251b8..6fbd769 100644
--- a/docs/guide-ru/structure-widgets.md
+++ b/docs/guide-ru/structure-widgets.md
@@ -20,7 +20,7 @@ use yii\bootstrap\DatePicker;
 конкретного виджета, следует обратиться к документации соответствующего класса.
 
 
-## Использование Виджетов <a name="using-widgets"></a>
+## Использование Виджетов <span id="using-widgets"></span>
 
 Главным образом, виджеты применяют в [представлениях](structure-views.md). Для того, чтобы использовать виджет
 в представлении, достаточно вызвать метод [[yii\base\Widget::widget()]]. Метод принимает массив [настроек](concept-configurations.md)
@@ -72,7 +72,7 @@ use yii\helpers\Html;
 использован в дальнейшем для формирования его внутреннего содержимого.
 
 
-## Создание Виджетов <a name="creating-widgets"></a>
+## Создание Виджетов <span id="creating-widgets"></span>
 
 Для того, чтобы создать виджет, следует унаследовать класс [[yii\base\Widget]] и переопределить методы
 [[yii\base\Widget::init()]] и/или [[yii\base\Widget::run()]]. Как правило, метод `init()` должен содержать
@@ -181,7 +181,7 @@ public function run()
 следует переопределить метод [[yii\base\Widget::getViewPath()]].
 
 
-## Лучшие Практики <a name="best-practices"></a>
+## Лучшие Практики <span id="best-practices"></span>
 
 Виджеты представляют собой объектно-ориентированный подход к повторному использованию кода пользовательского
 интерфейса.
diff --git a/docs/guide-ru/tutorial-core-validators.md b/docs/guide-ru/tutorial-core-validators.md
index 5a24f5c..7cec18c 100644
--- a/docs/guide-ru/tutorial-core-validators.md
+++ b/docs/guide-ru/tutorial-core-validators.md
@@ -19,7 +19,7 @@ public function rules()
 
 Ниже мы опишем основные способы использования и свойства всех встроенных валидаторов.
 
-## [[yii\validators\BooleanValidator|boolean]] <a name="boolean"></a>
+## [[yii\validators\BooleanValidator|boolean]] <span id="boolean"></span>
 
 ```php
 [
@@ -41,7 +41,7 @@ public function rules()
 оставить свойство [[yii\validators\BooleanValidator::strict|strict]] равным false.
 
 
-## [[yii\captcha\CaptchaValidator|captcha]] <a name="captcha"></a>
+## [[yii\captcha\CaptchaValidator|captcha]] <span id="captcha"></span>
 
 ```php
 [
@@ -59,7 +59,7 @@ public function rules()
   что означает, что *input* обязателен.
 
 
-## [[yii\validators\CompareValidator|compare]] <a name="compare"></a>
+## [[yii\validators\CompareValidator|compare]] <span id="compare"></span>
 
 ```php
 [
@@ -92,7 +92,7 @@ public function rules()
      * `<=`: проверяет, что валидируемое значение меньше или равно тому, с которым происходит сравнение.
 
 
-## [[yii\validators\DateValidator|date]] <a name="date"></a>
+## [[yii\validators\DateValidator|date]] <span id="date"></span>
 
 ```php
 [
@@ -110,7 +110,7 @@ public function rules()
   из строки даты/времени.
 
 
-## [[yii\validators\DefaultValueValidator|default]] <a name="default"></a>
+## [[yii\validators\DefaultValueValidator|default]] <span id="default"></span>
 
 ```php
 [
@@ -144,7 +144,7 @@ function foo($model, $attribute) {
   в секции [Пустые значения](input-validation.md#handling-empty-inputs).
 
 
-## [[yii\validators\NumberValidator|double]] <a name="double"></a>
+## [[yii\validators\NumberValidator|double]] <span id="double"></span>
 
 ```php
 [
@@ -160,7 +160,7 @@ function foo($model, $attribute) {
 - `min`: Нижний лимит (включительно) для значений. Если не установлен, валидатор не будет проверять нижний лимит.
 
 
-## [[yii\validators\EmailValidator|email]] <a name="email"></a>
+## [[yii\validators\EmailValidator|email]] <span id="email"></span>
 
 ```php
 [
@@ -178,7 +178,7 @@ function foo($model, $attribute) {
   IDN-валидации вам нужно установить и включить PHP расширение `intl`, иначе будет выброшено исключение.
 
 
-## [[yii\validators\ExistValidator|exist]] <a name="exist"></a>
+## [[yii\validators\ExistValidator|exist]] <span id="exist"></span>
 
 ```php
 [
@@ -222,7 +222,7 @@ function foo($model, $attribute) {
   их в `targetAttribute` как массив.
 
 
-## [[yii\validators\FileValidator|file]] <a name="file"></a>
+## [[yii\validators\FileValidator|file]] <span id="file"></span>
 
 ```php
 [
@@ -255,7 +255,7 @@ function foo($model, $attribute) {
 [Загрузка файлов](input-file-upload.md) для более полного понимания загрузки и проверки файлов.
 
 
-## [[yii\validators\FilterValidator|filter]] <a name="filter"></a>
+## [[yii\validators\FilterValidator|filter]] <span id="filter"></span>
 
 ```php
 [
@@ -282,7 +282,7 @@ function foo($model, $attribute) {
 
 > Трюк: Если вы хотите удалить пробелы вокруг значений атрибута, вы можете использовать валидатор [trim](#trim).
 
-## [[yii\validators\ImageValidator|image]] <a name="image"></a>
+## [[yii\validators\ImageValidator|image]] <span id="image"></span>
 
 ```php
 [
@@ -304,7 +304,7 @@ function foo($model, $attribute) {
 - `maxHeight`: максимальная высота изображения. По умолчанию null, что значит, что нет верхнего лимита.
 
 
-## [[yii\validators\RangeValidator|in]] <a name="in"></a>
+## [[yii\validators\RangeValidator|in]] <span id="in"></span>
 
 ```php
 [
@@ -325,7 +325,7 @@ function foo($model, $attribute) {
   `range`.
 
 
-## [[yii\validators\NumberValidator|integer]] <a name="integer"></a>
+## [[yii\validators\NumberValidator|integer]] <span id="integer"></span>
 
 ```php
 [
@@ -340,7 +340,7 @@ function foo($model, $attribute) {
 - `min`: нижний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять нижний лимит.
 
 
-## [[yii\validators\RegularExpressionValidator|match]] <a name="match"></a>
+## [[yii\validators\RegularExpressionValidator|match]] <span id="match"></span>
 
 ```php
 [
@@ -359,7 +359,7 @@ function foo($model, $attribute) {
    только если входящее значение НЕ совпадает с шаблоном.
 
 
-## [[yii\validators\NumberValidator|number]] <a name="number"></a>
+## [[yii\validators\NumberValidator|number]] <span id="number"></span>
 
 ```php
 [
@@ -374,7 +374,7 @@ function foo($model, $attribute) {
 - `min`: нижний лимит (включительно) для числа. Если не установлено, валидатор не будет проверять нижний лимит.
 
 
-## [[yii\validators\RequiredValidator|required]] <a name="required"></a>
+## [[yii\validators\RequiredValidator|required]] <span id="required"></span>
 
 ```php
 [
@@ -398,7 +398,7 @@ function foo($model, $attribute) {
   в секции [Пустые значения](input-validation.md#handling-empty-inputs).
 
 
-## [[yii\validators\SafeValidator|safe]] <a name="safe"></a>
+## [[yii\validators\SafeValidator|safe]] <span id="safe"></span>
 
 ```php
 [
@@ -411,7 +411,7 @@ function foo($model, $attribute) {
 [безопасным атрибутом](structure-models.md#safe-attributes).
 
 
-## [[yii\validators\StringValidator|string]] <a name="string"></a>
+## [[yii\validators\StringValidator|string]] <span id="string"></span>
 
 ```php
 [
@@ -434,7 +434,7 @@ function foo($model, $attribute) {
   [[yii\base\Application::charset|charset]], которое по умолчанию установлено в `UTF-8`.
 
 
-## [[yii\validators\FilterValidator|trim]] <a name="trim"></a>
+## [[yii\validators\FilterValidator|trim]] <span id="trim"></span>
 
 ```php
 [
@@ -447,7 +447,7 @@ function foo($model, $attribute) {
 Помните, что если входящие данные являются массивом, то они будут проигнорированы этим валидатором.
 
 
-## [[yii\validators\UniqueValidator|unique]] <a name="unique"></a>
+## [[yii\validators\UniqueValidator|unique]] <span id="unique"></span>
 
 ```php
 [
@@ -490,7 +490,7 @@ function foo($model, $attribute) {
   где `$query` это объект [[yii\db\Query|Query]], который вы можете изменить в функции.
 
 
-## [[yii\validators\UrlValidator|url]] <a name="url"></a>
+## [[yii\validators\UrlValidator|url]] <span id="url"></span>
 
 ```php
 [
diff --git a/docs/guide-ru/tutorial-i18n.md b/docs/guide-ru/tutorial-i18n.md
index 477af63..a44de9e 100644
--- a/docs/guide-ru/tutorial-i18n.md
+++ b/docs/guide-ru/tutorial-i18n.md
@@ -512,7 +512,7 @@ class TranslationEventHandler
 См. описание [форматирования дат](output-formatter.md).
 
 
-Настройка PHP-окружения <a name="setup-environment"></a>
+Настройка PHP-окружения <span id="setup-environment"></span>
 --------------------------------------------------------
 
 Для работы с большей частью функций интернационализации, Yii использует [PHP-расширение intl](http://php.net/manual/en/book.intl.php).
diff --git a/docs/guide-ru/tutorial-yii-integration.md b/docs/guide-ru/tutorial-yii-integration.md
index 0ce3d18..7e51d99 100644
--- a/docs/guide-ru/tutorial-yii-integration.md
+++ b/docs/guide-ru/tutorial-yii-integration.md
@@ -4,12 +4,12 @@
 Иногда необходимо использовать сторонний код в приложениях Yii. Или же есть потребность использовать Yii в качестве библиотеки в сторонних системах. В этом разделе мы рассмотрим, как это происходит.
 
 
-Использование сторонних библиотек в Yii <a name="using-libs-in-yii"></a>
+Использование сторонних библиотек в Yii <span id="using-libs-in-yii"></span>
 ----------------------------------
 
 Перед тем, как использовать стороннюю библиотеку в приложении Yii, в первую очередь следует убедиться, что в ней либо явно настроена загрузка классов, либо классы могут загружаться автоматически.
 
-### Использование пакетов Composer <a name="using-composer-packages"></a>
+### Использование пакетов Composer <span id="using-composer-packages"></span>
 
 Многие сторонние библиотеки поставляются в виде пакетов [Composer](https://getcomposer.org/).
 Для установки таких библиотек достаточно проделать два простых шага:
@@ -27,7 +27,7 @@ require(__DIR__ . '/../vendor/autoload.php');
 require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
 ```
 
-### Использование отдельных библиотек <a name="using-downloaded-libs"></a>
+### Использование отдельных библиотек <span id="using-downloaded-libs"></span>
 
 Если библиотека не поставляется в виде пакета Composer, необходимо установить ее согласно ее руководству по установке.
 В большинстве случаев потребуется вручную скачать файл с релизом и распаковать его в директорию `BasePath/vendor`, где `BasePath` соответствует [базовому пути](structure-applications.md#basePath) приложения.
@@ -56,7 +56,7 @@ Yii::$classMap['Class2'] = 'path/to/Class2.php';
 ```
 
 
-Использование Yii в сторонних системах <a name="using-yii-in-others"></a>
+Использование Yii в сторонних системах <span id="using-yii-in-others"></span>
 --------------------------------
 
 Поскольку в Yii реализована масса полезных функций, они могут пригодиться при разработке или расширении сторонних систем, таких как WordPress и Joomla, или приложений, разработанных с помощью других PHP-фреймворков. Например, в сторонней системе можно задействовать класс [[yii\helpers\ArrayHelper]] или использовать функционал [Active Record](db-active-record.md). Для этого обычно нужно сделать две вещи: установить Yii и подключить Yii.
@@ -88,7 +88,7 @@ new yii\web\Application($yiiConfig); // НЕ ВЫЗЫВАЙТЕ run() в это�
 Это позволит задействовать большинство функционала, который предоставляет Yii. Например, можно будет создавать классы типа Active Record, и с их помощью взаимодействовать с базой данных.
 
 
-Использование Yii 2 в связке с Yii 1 <a name="using-both-yii2-yii1"></a>
+Использование Yii 2 в связке с Yii 1 <span id="using-both-yii2-yii1"></span>
 ----------------------
 
 Если в прошлом вам приходилось использовать Yii 1, не исключено, что у вас до сих пор где-то используются приложения на этой платформе. Вместо того, чтобы переписывать все приложение под Yii 2, может быть целесообразно расширить его используя отдельные функции, которые появились в Yii 2.
diff --git a/docs/guide-uk/caching-fragment.md b/docs/guide-uk/caching-fragment.md
index 268e9fc..da56667 100644
--- a/docs/guide-uk/caching-fragment.md
+++ b/docs/guide-uk/caching-fragment.md
@@ -26,14 +26,14 @@ if ($this->beginCache($id)) {
 для визначення кешувального фрагмента.
 
 
-## Параметри кешування <a name="caching-options"></a>
+## Параметри кешування <span id="caching-options"></span>
 
 Ви можете вказати додаткові параметри про кешуванні фрагментів, передавши масив опцій в якості другого параметра метода
 [[yii\base\View::beginCache()|beginCache()]]. За лаштунками, цей масив параметрів буде використано для налаштування віджета
 [[yii\widgets\FragmentCache]], який реалізує фактичну функціональність кешування фрагментів.
 
 
-### Тривалість <a name="duration"></a>
+### Тривалість <span id="duration"></span>
 
 Мабуть найбільш часто використовуваною опцією кешування фрагмента є [[yii\widgets\FragmentCache::duration|duration]].
 Вона визначає на скільки секунд зміст може залишатися дійсним у кеші. Код нижче кешує фрагмент не більше, ніж на одну:
@@ -50,7 +50,7 @@ if ($this->beginCache($id, ['duration' => 3600])) {
 Якщо опцію тривалості не задано, то вона прийме значенне за замовчування (60), що означає, що вміст в кеші стане недійсним через 60 секунд.
 
 
-### Залежності <a name="dependencies"></a>
+### Залежності <span id="dependencies"></span>
 
 Подібно до [кешування даних](caching-data.md#cache-dependencies), фрагмент вмісту у кеші також може мати залежності.
 Наприклад, вміст поста, що відображається, залежить від того, чи був він змінений.
@@ -74,7 +74,7 @@ if ($this->beginCache($id, ['dependency' => $dependency])) {
 ```
 
 
-### Варіації <a name="variations"></a>
+### Варіації <span id="variations"></span>
 
 Вміст, що кешується, може бути змінено відповідно до деяких параметрів.
 Наприклад, для веб-додатка із підтримкою декількох мов, один і той же шматок представлення коду може генерувати контент на різних мовах.
@@ -94,7 +94,7 @@ if ($this->beginCache($id, ['variations' => [Yii::$app->language]])) {
 ```
 
 
-### Перемикання кешування <a name="toggling-caching"></a>
+### Перемикання кешування <span id="toggling-caching"></span>
 
 Іноді, ви можете захотіти увімкнути кешування фрагмента тільки за певних умов. Наприклад, для сторінки, яка відображає форму, 
 ви хочете кешувати тільки форму при її початковому запиті (через GET-запит). Будь-яке подальше відображення (через POST-запит)
@@ -111,7 +111,7 @@ if ($this->beginCache($id, ['enabled' => Yii::$app->request->isGet])) {
 ```
 
 
-## Вкладене кешування <a name="nested-caching"></a>
+## Вкладене кешування <span id="nested-caching"></span>
 
 Кешування фрагментів може бути вкладеним. Тобто, кешований фрагмент може бути укладений в інший фрагмент, що також кешується.
 Наприклад, коментарі кешируются у внутрішньому фрагменті кешу, і вони ж кешуються разом із вмістом поста у зовнішньому 
@@ -142,7 +142,7 @@ if ($this->beginCache($id1)) {
 в іншому випадку застарілі внутрішні фрагменти можуть зберігатися в зовнішньому фрагменті.
 
 
-## Динамічний зміст <a name="dynamic-content"></a>
+## Динамічний зміст <span id="dynamic-content"></span>
 
 При використанні кешування фрагментів, ви можете зіткнутися із ситуацією, коли великий фрагмент змісту є відносно статичним,
 за винятком одного або декількох місць. Наприклад, заголовок сторінки може відображатися у головному меню разом 
diff --git a/docs/guide-uk/concept-aliases.md b/docs/guide-uk/concept-aliases.md
index fd8a5e4..75d324a 100644
--- a/docs/guide-uk/concept-aliases.md
+++ b/docs/guide-uk/concept-aliases.md
@@ -7,7 +7,7 @@
 Yii framework, а `@web` можна використовувати для отримання базового URL поточного додатку.
 
 
-Створення псевдонімів <a name="defining-aliases"></a>
+Створення псевдонімів <span id="defining-aliases"></span>
 ---------------------
 
 Для створення псевдоніма шляху до файлу або URL використовується метод [[Yii::setAlias()]]:
@@ -49,7 +49,7 @@ return [
 ```
 
 
-Перетворення псевдонімів <a name="resolving-aliases"></a>
+Перетворення псевдонімів <span id="resolving-aliases"></span>
 ------------------------
 
 Виклик [[Yii::getAlias()]] перетворює кореневий псевдонім в шлях до файлу або URL, який цей псевдонім представляє.
@@ -79,7 +79,7 @@ Yii::getAlias('@foo/bar/file.php');   // виведе: /path2/bar/file.php
 Якби `@foo/bar` не був оголошений кореневим псевдонімом, остання строка вивела б `/path/to/foo/bar/file.php`.
 
 
-Використання псевдонімів <a name="using-aliases"></a>
+Використання псевдонімів <span id="using-aliases"></span>
 ------------------------
 
 Псевдоніми розпізнаються в багатьох частинах Yii без необхідності попереднього виклику [[Yii::getAlias()]]
@@ -97,7 +97,7 @@ $cache = new FileCache([
 Для того, щоб дізнатися чи підтримує метод або властивість псевдоніми, зверніться до документації API.
 
 
-Заздалегідь визначені псевдоніми <a name="predefined-aliases"></a>
+Заздалегідь визначені псевдоніми <span id="predefined-aliases"></span>
 --------------------------------
 
 В Yii заздалегідь визначені псевдоніми для часто використовуваних шляхів до файлів і URL:
@@ -115,7 +115,7 @@ $cache = new FileCache([
 Решта псевдонімів задаються в конструкторі додатка в момент застосування [конфигурації](concept-configurations.md).
 
 
-Псевдоніми розширень <a name="extension-aliases"></a>
+Псевдоніми розширень <span id="extension-aliases"></span>
 --------------------
 
 Для кожного [розширення](structure-extensions.md), що встановлюється через Composer, автоматично задається псевдонім. 
diff --git a/docs/guide-uk/concept-autoloading.md b/docs/guide-uk/concept-autoloading.md
index 9ffc5f7..44ed3d6 100644
--- a/docs/guide-uk/concept-autoloading.md
+++ b/docs/guide-uk/concept-autoloading.md
@@ -11,7 +11,7 @@
 Тим не менш, все описане також стосується до інтерфейсів і трейтів.
 
 
-Використання автозавантажувача Yii <a name="using-yii-autoloader"></a>
+Використання автозавантажувача Yii <span id="using-yii-autoloader"></span>
 ----------------------------------
 
 Для використання автозавантажувача класів Yii слід дотримуватися два простих правила створення і іменування класів:
@@ -38,7 +38,7 @@ $classFile = Yii::getAlias('@' . str_replace('\\', '/', $className) . '.php');
 frontend в простір імен `frontend`, а класи backend в простір імен `backend`. При цьому класи будуть завантажені автоматично.
 
 
-Мапа класів <a name="class-map"></a>
+Мапа класів <span id="class-map"></span>
 -----------
 
 Автозавантажувач Yii підтримує *мапу класів*. Ця можливість дозволяє вказати шлях до файлу для кожного імені класу. 
@@ -56,7 +56,7 @@ Yii::$classMap['foo\bar\MyClass'] = 'path/to/MyClass.php';
 в процесі [первинного завантаження](runtime-bootstrapping.md), так як вона повинна бути сформована до використання класів.
 
 
-Використання інших автозавантажувачів <a name="using-other-autoloaders"></a>
+Використання інших автозавантажувачів <span id="using-other-autoloaders"></span>
 -------------------------------------
 
 Оскільки Yii використовує Composer у якості менеджера залежностей, рекомендується додатково встановити його автозавантажувач.
@@ -80,7 +80,7 @@ require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
   і підключіть його у [вхідному скрипті](structure-entry-scripts.md).
 
 
-Автозавантаження класів розширень <a name="autoloading-extension-classes"></a>
+Автозавантаження класів розширень <span id="autoloading-extension-classes"></span>
 ---------------------------------
 
 Автозавантажувач Yii може автоматично завантажувати класи [розширень](structure-extensions.md), при умові виконання вимоги
diff --git a/docs/guide-uk/start-databases.md b/docs/guide-uk/start-databases.md
index 7cefe02..31fc88a 100644
--- a/docs/guide-uk/start-databases.md
+++ b/docs/guide-uk/start-databases.md
@@ -16,7 +16,7 @@
 Зокрема, ви повинні знати, як створювати бази даних, як виконувати SQL-запити за допомогою клієнтських додатків баз даних.
 
 
-Підготовка бази даних <a name="preparing-database"></a>
+Підготовка бази даних <span id="preparing-database"></span>
 ---------------------
 
 Для початку, створіть базу даних `yii2basic`, з якої і будете надалі отримувати дані. 
@@ -46,7 +46,7 @@ INSERT INTO `country` VALUES ('US','United States',278357000);
 
 На даний момент, у вас є база даних `yii2basic` і таблиця `country` з трьома колонками, що містять десять рядків даних.
 
-Налаштування підключення до БД <a name="configuring-db-connection"></a>
+Налаштування підключення до БД <span id="configuring-db-connection"></span>
 ------------------------------
 
 Перш ніж продовжити, переконайтеся, що у вас налаштовано [PDO](http://www.php.net/manual/en/book.pdo.php) PHP розширення 
@@ -78,7 +78,7 @@ return [
   будь ласка, зверніться до розділу [Налаштування](concept-configurations.md).
 
 
-Створення Active Record <a name="creating-active-record"></a>
+Створення Active Record <span id="creating-active-record"></span>
 -----------------------
 
 Для відображення і отримання даних з таблиці `country` створіть [Active Record](db-active-record.md) клас 
@@ -126,7 +126,7 @@ $country->save();
   взаємодіяти з базою даних, використовуючи для доступу метод передачі даних нижнього рівня під назвою [Data Access Objects](db-dao.md).
 
 
-Створення дії <a name="creating-action"></a>
+Створення дії <span id="creating-action"></span>
 -------------
 
 Щоб відобразити дані про країну кінцевим користувачам, необхідно створити нову дію. Замість розміщення нової дії 
@@ -180,7 +180,7 @@ class CountryController extends Controller
 Наприкінці, дія `index` повертає представлення `index` і передає дані по країнах, з розбивкою на сторінки.
 
 
-Створення представлення <a name="creating-view"></a>
+Створення представлення <span id="creating-view"></span>
 -----------------------
 
 В директорії `views` створіть спочатку підкаталог `country`. Цей каталог буде використовуватись для всіх представленнь 
@@ -210,7 +210,7 @@ use yii\widgets\LinkPager;
 При натисканні на будь-якій з них будуть оновлюватись дані країн на відповідній сторінці.
 
 
-Спробуєм <a name="trying-it-out"></a>
+Спробуєм <span id="trying-it-out"></span>
 --------
 
 Щоб побачити все, що було створено під час роботи, відкрийте в браузері наступний URL:
@@ -241,7 +241,7 @@ http://hostname/index.php?r=country/index&page=2
   Таким чином, новий запит буде мати визначення `LIMIT 5 OFFSET 5` і поверне наступні пʼять країн для відображення.
 
 
-Підсумок <a name="summary"></a>
+Підсумок <span id="summary"></span>
 --------
 
 В цьому розділі ви дізналися, як працювати з базою даних. Ви також дізналися, як вибирати і відображати дані на сторінках 
diff --git a/docs/guide-uk/start-forms.md b/docs/guide-uk/start-forms.md
index 65ea79c..49f7a04 100644
--- a/docs/guide-uk/start-forms.md
+++ b/docs/guide-uk/start-forms.md
@@ -14,7 +14,7 @@
 * Як створити HTML форму в [представленні](structure-views.md)
 
 
-Створення моделі <a name="creating-model"></a>
+Створення моделі <span id="creating-model"></span>
 ----------------
 
 Створіть клас моделі `EntryForm` та збережіть у файлі `models/EntryForm.php` як показано нижче. Він буде використовуватись
@@ -74,7 +74,7 @@ if ($model->validate()) {
 ```
 
 
-Створення дії <a name="creating-action"></a>
+Створення дії <span id="creating-action"></span>
 -------------
 
 Далі створіть дію `entry` в контролері `site`, точно так, як ви робили це раніше.
@@ -127,7 +127,7 @@ class SiteController extends Controller
   для уникнення [проблеми повторного відправлення даних форми](http://en.wikipedia.org/wiki/Post/Redirect/Get).
 
 
-Створення представлення <a name="creating-views"></a>
+Створення представлення <span id="creating-views"></span>
 -----------------------
 
 На завершення, створюємо два представлення з іменами `entry-confirm` і `entry`, котрі зображаються дією `entry` з минулого підрозділу.
@@ -172,7 +172,7 @@ use yii\widgets\ActiveForm;
 Далі для генерації кнопки відправлення даних викликається метод [[yii\helpers\Html::submitButton()]].
 
 
-Спробуємо <a name="trying-it-out"></a>
+Спробуємо <span id="trying-it-out"></span>
 ---------
 
 Щоб побачити, як це працює, відкрийте в браузері наступний URL:
@@ -192,7 +192,7 @@ http://hostname/index.php?r=site/entry
 ![Підтвердження введених даних](images/start-entry-confirmation.png)
 
 
-### Як працює вся ця "магія" <a name="magic-explained"></a>
+### Як працює вся ця "магія" <span id="magic-explained"></span>
 
 Ви, більш за все, ставите питанням про те, як все ж ця HTML форма працює насправді і яким чином. 
 Весь процес може здатися трохи магічним: те як зображаються підписи до полів, помилки перевірки даних при некоректному 
@@ -219,7 +219,7 @@ http://hostname/index.php?r=site/entry
   Як ви дізнаєтесь пізніше, розробляти нові віджети доволі просто. Багато із представленнь можна винести у віджети, 
   щоб використовувати їх повторно в інших частинах і тим самим спростити розробку в майбутньому.
 
-Підсумок <a name="summary"></a>
+Підсумок <span id="summary"></span>
 --------
 
 В даному розділі ви випробували кожну частину шаблона проектування MVC. Ви дізналися як створювати класи моделей 
diff --git a/docs/guide-uk/start-gii.md b/docs/guide-uk/start-gii.md
index eda83a2..d8ca7d8 100644
--- a/docs/guide-uk/start-gii.md
+++ b/docs/guide-uk/start-gii.md
@@ -13,7 +13,7 @@
 * Налаштування коду, що був згенерований Gii
 
 
-Підготовка Gii <a name="starting-gii"></a>
+Підготовка Gii <span id="starting-gii"></span>
 --------------
 
 [Gii](tool-gii.md) надається як [модуль](structure-modules.md). Ви можете підключити модуль Gii, налаштувавши відповідну
@@ -59,7 +59,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-Генерація класу Active Record <a name="generating-ar"></a>
+Генерація класу Active Record <span id="generating-ar"></span>
 -----------------------------
 
 Використовуючи Gii для генерації класу Active Record, виберіть "Model Generator" (натиснувши на посилання на сторінці Gii).
@@ -85,7 +85,7 @@ http://hostname/index.php?r=gii
 файл, то побачите повідомлення про те, що він був переписаний і замінений на щойно згенерований код.
 
 
-Генерація коду CRUD <a name="generating-crud"></a>
+Генерація коду CRUD <span id="generating-crud"></span>
 -------------------
 
 CRUD розшифровується як Створити, Прочитати, Оновити, і Видалити, це операції що вирішують чотири спільні завдання 
@@ -108,7 +108,7 @@ CRUD розшифровується як Створити, Прочитати, �
 (Попередні версії файлів на мають повного CRUD функціоналу.)
 
 
-Спробуємо <a name="trying-it-out"></a>
+Спробуємо <span id="trying-it-out"></span>
 ---------
 
 Щоб побачити все, що було створено під час роботи, відкрийте в браузері наступний URL:
@@ -139,7 +139,7 @@ http://hostname/index.php?r=country/index
   вам значно прискорити розробку ваших додатків. Для більш докладної інформації, будьласка, зверніться до розділу [Gii](tool-gii.md).
 
 
-Підсумок <a name="summary"></a>
+Підсумок <span id="summary"></span>
 --------
 
 В цьому розділі ви дізналися як, використовуючи Gii, генерувати код, який реалізує повну функціональність CRUD для 
diff --git a/docs/guide-uk/start-hello.md b/docs/guide-uk/start-hello.md
index 17a0f85..df0bf8f 100644
--- a/docs/guide-uk/start-hello.md
+++ b/docs/guide-uk/start-hello.md
@@ -14,7 +14,7 @@
 3. Як додаток відправляє запити до [дії](structure-controllers.md).
 
 
-Створення дії <a name="creating-action"></a>
+Створення дії <span id="creating-action"></span>
 -------------
 
 Для нашої задачі знадобиться [дія](structure-controllers.md#creating-actions) `say`, котра читає параметр `message` із
@@ -67,7 +67,7 @@ Yii використовує префікс `action` для того, щоб в�
 Результат відображення з допомогою `return` передається додатку, котрий віддає його користувачу.
 
 
-Створення представлення <a name="creating-view"></a>
+Створення представлення <span id="creating-view"></span>
 -----------------------
 
 [Представлення](structure-views.md) є скриптами, які використовуються для формування тіла відповіді. Для нашого
@@ -93,7 +93,7 @@ use yii\helpers\Html;
 скриптом представлення, буде передано додатком користувачу.
 
 
-Спробуємо <a name="trying-it-out"></a>
+Спробуємо <span id="trying-it-out"></span>
 ---------
 
 Після створення дії і представлення, ви можете перейти на нову сторінку по наступному URL:
@@ -127,7 +127,7 @@ http://hostname/index.php?r=site/say&message=Привіт+світ
   імені класа контролера `PostCommentController`.
 
 
-Підсумок <a name="summary"></a>
+Підсумок <span id="summary"></span>
 --------
 
 В даному розділі ви торкнулися теми контролерів і представлень в паттерні MVC. Ви створили дію, як частину контролера,
diff --git a/docs/guide-uk/start-installation.md b/docs/guide-uk/start-installation.md
index 14d5eb0..2584cab 100644
--- a/docs/guide-uk/start-installation.md
+++ b/docs/guide-uk/start-installation.md
@@ -8,7 +8,7 @@
 > Примітка: На відміну від Yii 1, після стандартного встановлення Yii 2 ми отримуємо як фреймворк, так і шаблон додатка.
 
 
-Встановлення за допомогою Composer <a name="installing-via-composer"></a>
+Встановлення за допомогою Composer <span id="installing-via-composer"></span>
 ----------------------------------
 
 Якщо у вас все ще не вставновлено Composer, то це можна зробити за допомогою інструкції на [getcomposer.org](https://getcomposer.org/download/).
@@ -48,7 +48,7 @@
 > виконання робочого коду.
 
 
-Встановлення з архіву <a name="installing-from-archive-file"></a>
+Встановлення з архіву <span id="installing-from-archive-file"></span>
 ---------------------
 
 Встановлення Yii з архіву складається з трьох кроків:
@@ -64,7 +64,7 @@
    ```
 
 
-Інші параметри встановлення <a name="other-installation-options"></a>
+Інші параметри встановлення <span id="other-installation-options"></span>
 ---------------------------
 
 Вище наведені інструкції по встановленню Yii, які також створюють базовий веб-додаток, готового до роботи.
@@ -78,7 +78,7 @@
   [разширений шаблон додатка](tutorial-advanced-app.md).
 
 
-Перевірка встановлення <a name="verifying-installation"></a>
+Перевірка встановлення <span id="verifying-installation"></span>
 ----------------------
 
 Після встановлення, ви можете перевірити за допомогою браузера свій встановлений додаток Yii за наступним URL:
@@ -109,7 +109,7 @@ http://localhost/basic/web/index.php
 (наприклад, `pdo_mysql` для MySQL).
 
 
-Налаштування веб серверів <a name="configuring-web-servers"></a>
+Налаштування веб серверів <span id="configuring-web-servers"></span>
 -------------------------
 
 > Інформація: можете пропустити даний підрозділ, якщо ви тільки розпочали знайомитися з фреймворком 
@@ -132,7 +132,7 @@ Yii 2.0 також сумісний із віртуальною машиною [
   додатка для покращення безпеки, як описано в розділі [Робота на shared хостингу](tutorial-shared-hosting.md).
 
 
-### Рекомендовані налаштування Apache <a name="recommended-apache-configuration"></a>
+### Рекомендовані налаштування Apache <span id="recommended-apache-configuration"></span>
 
 Додайте наступний код до файлу конфігурации Apache `httpd.conf` або в конфігураційний файл віртуального хоста. 
 Не забудьте замінити `path/to/basic/web` на коректний шлях до `basic/web`.
@@ -155,7 +155,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### Рекомендовані налаштування Nginx <a name="recommended-nginx-configuration"></a>
+### Рекомендовані налаштування Nginx <span id="recommended-nginx-configuration"></span>
 
 Для використання [Nginx](http://wiki.nginx.org/) вам потрібно встановити PHP як [FPM SAPI](http://php.net/install.fpm).
 Використовуйте наступні параметри Nginx, замінивши `path/to/basic/web` на коректний шлях до `basic/web`,
diff --git a/docs/guide-uk/start-workflow.md b/docs/guide-uk/start-workflow.md
index 99abce4..7eb5a9f 100644
--- a/docs/guide-uk/start-workflow.md
+++ b/docs/guide-uk/start-workflow.md
@@ -10,7 +10,7 @@
   `http://hostname/index.php` ви отримаєте доступ до додатку. Відрегулюйте URL-адреси для ваших потреб.
 
 
-Функціонал <a name="functionality"></a>
+Функціонал <span id="functionality"></span>
 ----------
 
 Вбудований шаблон простого додатку складається з чотирьох сторінок:
@@ -29,7 +29,7 @@
 [вбудований відладчик](tool-debugger.md), він записує і відображає інформацію про хід виконання додатку.
 
 
-Структура додатка Yii <a name="application-structure"></a>
+Структура додатка Yii <span id="application-structure"></span>
 ---------------------
 
 Нижче наведений перелік основних директорій і файлів вашого додатку (вважаємо, що додаток встановлений в директорію `basic`):
@@ -69,7 +69,7 @@ basic/                  кореневий каталог додатка
 [Віджети](structure-widgets.md) використовуються у [представленнях](structure-views.md) для побудови динамічних інтерфейсів сайта.
 
 
-Життєвий цикл запиту <a name="request-lifecycle"></a>
+Життєвий цикл запиту <span id="request-lifecycle"></span>
 --------------------
 
 На діаграмі показано, як додаток відпрацьовує запит.
diff --git a/docs/guide-uk/structure-application-components.md b/docs/guide-uk/structure-application-components.md
index 775844e..f877ffe 100644
--- a/docs/guide-uk/structure-application-components.md
+++ b/docs/guide-uk/structure-application-components.md
@@ -51,7 +51,7 @@
   У більшості випадків ви можете просто створити локальний компонент і використовувати його при необхідності.
 
 
-## Попереднє завантаження компонентів <a name="bootstrapping-components"></a>
+## Попереднє завантаження компонентів <span id="bootstrapping-components"></span>
 
 Як згадувалося вище, компонент додатка буде створено при першому звертанні.
 Якщо до нього не буде зроблено звертань під час запиту - його взагалі не буде створено.
@@ -74,7 +74,7 @@
 ```
 
 
-## Вбудовані компоненти додатку <a name="core-application-components"></a>
+## Вбудовані компоненти додатку <span id="core-application-components"></span>
 
 В Yii є декілька *вбудованих* компонентів додатку із фіксованими ID та конфігураціями за замовчуванням. 
 Наприклад, компонент [[yii\web\Application::request|request]] використовується для збору інформації про запит 
diff --git a/docs/guide-uk/structure-applications.md b/docs/guide-uk/structure-applications.md
index c8cfdfb..2521eec 100644
--- a/docs/guide-uk/structure-applications.md
+++ b/docs/guide-uk/structure-applications.md
@@ -12,7 +12,7 @@
 Як можна здогадатися із назв, перший тип, в основному, займається обробкою веб запитів, а другий - консольними командами.
 
 
-## Конфігурації додатка <a name="application-configurations"></a>
+## Конфігурації додатка <span id="application-configurations"></span>
 
 Коли [вхідний скрипт](structure-entry-scripts.md) створює додаток, він завантажить 
 [конфігурацію](concept-configurations.md) та застосує її до додатка, наприклад:
@@ -33,7 +33,7 @@ $config = require(__DIR__ . '/../config/web.php');
 [конфігураційних файлів](concept-configurations.md#configuration-files), наприклад, файл `web.php` у наведеному вище прикладі.
 
 
-## Властивості додатка <a name="application-properties"></a>
+## Властивості додатка <span id="application-properties"></span>
 
 Існує багато важливих властивостей додатка, які ви налаштовуєте в конфігураціях додатка. 
 Ці властивості, зазвичай, описують середовище, у якому працює додаток. Наприклад, 
@@ -41,20 +41,20 @@ $config = require(__DIR__ . '/../config/web.php');
 де зберігати тимчасові файли, і т.п. Нижче ми розглянемо дані властивості.
 
 
-### Об’язкові властивості <a name="required-properties"></a>
+### Об’язкові властивості <span id="required-properties"></span>
 
 В кожному додатку, ви маєте налаштувати мінімум дві властивості: [[yii\base\Application::id|id]]
 та [[yii\base\Application::basePath|basePath]].
 
 
-#### [[yii\base\Application::id|id]] <a name="id"></a>
+#### [[yii\base\Application::id|id]] <span id="id"></span>
 
 Властивість [[yii\base\Application::id|id]] є унікальним ID додатка, який відрізняє його від решти інших додатків.
 Здебільшого, це використовується всередені системи. Хоч і не є обов’язковим, але для кращої сумістності рекомендується 
 використовувати буквено-цифрові символи при налаштуванні ID додатка.
 
 
-#### [[yii\base\Application::basePath|basePath]] <a name="basePath"></a>
+#### [[yii\base\Application::basePath|basePath]] <span id="basePath"></span>
 
 Властивість [[yii\base\Application::basePath|basePath]] вказує на кореневу директорію додатка. Ця директорія, 
 яка містить весь код прикладної системи додатка. В цій директорії, зазвичай, можуть знаходитись підкаталоги `models`,
@@ -70,13 +70,13 @@ runtime директорії). Саме з цієї причини, псевдо
 звертання до runtime директорії).
 
 
-### Важливі властивості <a name="important-properties"></a>
+### Важливі властивості <span id="important-properties"></span>
 
 Властивості, перелічені в даному підрозділі, частіш за все повинні бути визначені, тому що вони можуть
 відрізнятися у різних додатках.
 
 
-#### [[yii\base\Application::aliases|aliases]] <a name="aliases"></a>
+#### [[yii\base\Application::aliases|aliases]] <span id="aliases"></span>
 
 Дана властивість дозволяє налаштувати вам безліч [псевдонімів](concept-aliases.md) у рамках масиву.
 Ключами масива є імена псевдонімів, а значеннами - відповідні значення шляхів. Наприклад,
@@ -94,7 +94,7 @@ runtime директорії). Саме з цієї причини, псевдо
 а не викликаючи метод [[Yii::setAlias()]].
 
 
-#### [[yii\base\Application::bootstrap|bootstrap]] <a name="bootstrap"></a>
+#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
 
 Дана властивість є дуже зручною, вона дозволяє вказувати масив компонентів, котрі мусять бути завантажені
 у процесі [[yii\base\Application::bootstrap()|початкового завантаження]] додатка. Наприклад, якщо ви хочете, 
@@ -168,7 +168,7 @@ if (YII_ENV_DEV) {
   розсудливо використовувати компоненти початкового завантаження.
 
 
-#### [[yii\web\Application::catchAll|catchAll]] <a name="catchAll"></a>
+#### [[yii\web\Application::catchAll|catchAll]] <span id="catchAll"></span>
 
 Дана властивість підтримується тільки [[yii\web\Application|веб додатками]]. Вона вказує на 
 [дії контролера](structure-controllers.md), які мусять обробляти всі вхідні запити від користувача. Переважно, 
@@ -188,7 +188,7 @@ if (YII_ENV_DEV) {
 ```
 
 
-#### [[yii\base\Application::components|components]] <a name="components"></a>
+#### [[yii\base\Application::components|components]] <span id="components"></span>
 
 Дана властивість є найважливішою. Вона дозволяє вам зареєструвати іменні компоненти у 
 [компонентах додатку](structure-application-components.md), які ви можете використовувати в інших місцях. Наприклад,
@@ -216,7 +216,7 @@ if (YII_ENV_DEV) {
 Більш детальна інформація наведена в розділі [Компоненти додатка](structure-application-components.md).
 
 
-#### [[yii\base\Application::controllerMap|controllerMap]] <a name="controllerMap"></a>
+#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
 
 Дана властивість дозволяє вам встановлювати відповідність між ID контролера та його класом. За замовчуванням, 
 Yii встановлює відповідність між ID контролера та його класом згідно [домовленості](#controllerNamespace) 
@@ -242,7 +242,7 @@ Yii встановлює відповідність між ID контролер
 [конфігурації](concept-configurations.md).
 
 
-#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <a name="controllerNamespace"></a>
+#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <span id="controllerNamespace"></span>
 
 Дана властивість вказує на простір імен за замовчуванням, під яким повинні знаходитись класи контролерів.
 За замовчуванням, це значення рівне `app\controllers`. Якщо ID контролера є `post`, то, згідно домовленості, 
@@ -260,7 +260,7 @@ Yii встановлює відповідність між ID контролер
 [controllerMap](#controllerMap).
 
 
-#### [[yii\base\Application::language|language]] <a name="language"></a>
+#### [[yii\base\Application::language|language]] <span id="language"></span>
 
 Дана властивість вказує на мову додатка, на якій додаток повинен відображати зміст кінцевому користувачу.
 За замовчуванням, значення даної властивості рівне `en`, означаючи англійську мову.
@@ -277,7 +277,7 @@ Yii встановлює відповідність між ID контролер
 Більш детальна інформація наведена у розділі [Інтернаціоналізація](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::modules|modules]] <a name="modules"></a>
+#### [[yii\base\Application::modules|modules]] <span id="modules"></span>
 
 Дана властивість визначає [модулі](structure-modules.md), які містить додаток.
 
@@ -302,7 +302,7 @@ Yii встановлює відповідність між ID контролер
 Більш детальна інформація наведена у розділі [Модулі](structure-modules.md).
 
 
-#### [[yii\base\Application::name|name]] <a name="name"></a>
+#### [[yii\base\Application::name|name]] <span id="name"></span>
 
 Дана властивість вказує на ім’я додатка, яке може бути відображене кінцевому користувачу. На відміну від властивості
 [[yii\base\Application::id|id]], яка має бути унікальною, значення даної властивості потрібне в основному для
@@ -311,7 +311,7 @@ Yii встановлює відповідність між ID контролер
 Якщо ваш код не використовує дану властивість, то ви можете не налаштовувати її.
 
 
-#### [[yii\base\Application::params|params]] <a name="params"></a>
+#### [[yii\base\Application::params|params]] <span id="params"></span>
 
 Дана властивість описує масив глобально доступних параметрів додатка. Замість того, щоб використовувати жорстко 
 фіксовані числа і строки у вашому коді, краще оголосити їх параметрами додатка в одному місці і використовувати 
@@ -336,7 +336,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 конфігураційному файлі додатка, не змінюючи будь-який залежний код.
 
 
-#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <a name="sourceLanguage"></a>
+#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <span id="sourceLanguage"></span>
 
 Дана властивість вказує мову, на якій написаний код додатка. За замовчуванням значення рівне `'en-US'`, 
 що означає англійську мову (США). Ви повинні змінити дану властивість, якщо мовою змісту у вашому коді
@@ -349,7 +349,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Більш детальна інформація наведена у розділі [Інтернаціоналізація](tutorial-i18n.md).
 
 
-#### [[yii\base\Application::timeZone|timeZone]] <a name="timeZone"></a>
+#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
 
 Дана властивість надає альтернативний спосіб встановлення часової зони за замовчуванням у процесі роботи додатка.
 Таким чином, вказуючи дану властивість, ви, по суті, викликаєте PHP функцію 
@@ -362,27 +362,27 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 ]
 ```
 
-#### [[yii\base\Application::version|version]] <a name="version"></a>
+#### [[yii\base\Application::version|version]] <span id="version"></span>
 
 Дана властивість вказує на версію додатка. За замовчуванням значення рівне `'1.0'`. Ви можете не змінювати
 дану властивість, якщо ваш код не використовує її.
 
 
-### Корисні властивості <a name="useful-properties"></a>
+### Корисні властивості <span id="useful-properties"></span>
 
 Властивості, які перераховані в даному розділі, не є часто змінюваними, так як їх значення за замовчуванням
 відповідають загальноприйнятим домовленостям. Однак, ви можете їх налаштувати, якщо вам потрібно використовувати 
 інші значення.
 
 
-#### [[yii\base\Application::charset|charset]] <a name="charset"></a>
+#### [[yii\base\Application::charset|charset]] <span id="charset"></span>
 
 Властивість вказує кодування, яке використовує додаток. За замовчуванням значення рівне `'UTF-8'`,
 яке має бути незмінним для більшості додатків, тільки якщо ви не працюєте із застарілим кодом, який використовує 
 значний об’єм не юнікод даних.
 
 
-#### [[yii\base\Application::defaultRoute|defaultRoute]] <a name="defaultRoute"></a>
+#### [[yii\base\Application::defaultRoute|defaultRoute]] <span id="defaultRoute"></span>
 
 Властивість вказує [маршрут](runtime-routing.md), який повинен використовувати додаток, коли його не вказано у 
 вхідному запиті. Маршрут може складатись із ID модуля, ID контролера і/або ID дії. Наприклад, `help`,
@@ -398,7 +398,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Таким чином, якщо ви виконаєте команду `yii` без аргументів, вам будет зображена довідкова інформація.
 
 
-#### [[yii\base\Application::extensions|extensions]] <a name="extensions"></a>
+#### [[yii\base\Application::extensions|extensions]] <span id="extensions"></span>
 
 Дана властивість описує перелік [розширень](structure-extensions.md), які встановлені і використовуються додатком. 
 За замовчуванням, значенням даної властивості буде масив, отриманий із файла `@vendor/yiisoft/extensions.php`. 
@@ -433,7 +433,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Розширення також може визначати декілька [псевдонімів](concept-aliases.md).
 
 
-#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
+#### [[yii\base\Application::layout|layout]] <span id="layout"></span>
 
 Дана властивість визначає ім’я шаблону за замовчуванням, який мусить бути використаний при формувані 
 [представлення](structure-views.md). Значення за замовчуванням рівне `'main'`, яке означає, що має бути використаний 
@@ -444,7 +444,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Для відключення використання шаблону, ви можете вказати дану властивість як `false`, однак це є дуже рідкісним випадком.
 
 
-#### [[yii\base\Application::layoutPath|layoutPath]] <a name="layoutPath"></a>
+#### [[yii\base\Application::layoutPath|layoutPath]] <span id="layoutPath"></span>
 
 Дана властивість визначає шлях, по якому слід шукати шаблони. Значення за замовчуванням рівне `layouts`, 
 що означає підпапку у [директорії представлень](#viewPath). Якщо значення [директорії представлень](#viewPath) 
@@ -453,7 +453,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Ви можете налаштувати дану властивість як директорію, так і як [псевдонім шляху](concept-aliases.md).
 
 
-#### [[yii\base\Application::runtimePath|runtimePath]] <a name="runtimePath"></a>
+#### [[yii\base\Application::runtimePath|runtimePath]] <span id="runtimePath"></span>
 
 Дана властивість визначає шлях, по якому зберігаються тимчасові файли, такі як: лог файли, кеш файли. 
 За замовчуванням це значення рівне директорії, яка преставлена псевдонімом шляху `@app/runtime`.
@@ -465,13 +465,13 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Для спрощення роботи з даною директорією, Yii надає зумовлений псевдонім шляху `@runtime`.
 
 
-#### [[yii\base\Application::viewPath|viewPath]] <a name="viewPath"></a>
+#### [[yii\base\Application::viewPath|viewPath]] <span id="viewPath"></span>
 
 Дана властивість визначає базову директорію, де містяться всі файли представлень. Значення за замовчуванням являє 
 собою псевдонім `@app/views`. Ви можете налаштувати дану властивість як директорі або [псевдонім шляху](concept-aliases.md).
 
 
-#### [[yii\base\Application::vendorPath|vendorPath]] <a name="vendorPath"></a>
+#### [[yii\base\Application::vendorPath|vendorPath]] <span id="vendorPath"></span>
 
 Дана властивість визначає директорію сторонніх бібліотек, які використовуються і керуються за допомогою
 [Composer](http://getcomposer.org). Вона містить всі сторонні бібліотеки, які використовуються додатком, 
@@ -483,13 +483,13 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Для спрощення роботи з даною директорією, Yii надає зумовлений псевдонім шляху `@vendor`.
 
 
-#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <a name="enableCoreCommands"></a>
+#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <span id="enableCoreCommands"></span>
 
 Дана властивість підтримується тільки [[yii\console\Application|консольними додатками]]. Вона вказує чи потрібно
 використовувати вбудовані в Yii консольні команди. Значення за замовчуванням рівне `true`.
 
 
-## Події додатка <a name="application-events"></a>
+## Події додатка <span id="application-events"></span>
 
 Додаток викликає декілька подій під час свого життєвого циклу обробки запиту. 
 Ви можете приєднати обробники подій в конфігурації додатка наступним чином:
@@ -514,7 +514,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 });
 ```
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <a name="beforeRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <span id="beforeRequest"></span>
 
 Дана подія виникає *до* того, як додаток починає обробляти вхідний запит. Справжнє ім’я події - `beforeRequest`.
 
@@ -524,7 +524,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 в залежності від деяких параметрів.
 
 
-### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <a name="afterRequest"></a>
+### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <span id="afterRequest"></span>
 
 Дана подія виникає *після* закінчення обробки запиту додатком, але *до* відправки відповіді.
 Справжнє ім’я події - `afterRequest`.
@@ -536,7 +536,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 користувачу. Ці події виникають *після* поточної події.
 
 
-### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <a name="beforeAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <span id="beforeAction"></span>
 
 Подія виникає *до* виконання кожної [дії контролера](structure-controllers.md).
 Справжнє ім’я події - `beforeAction`.
@@ -563,7 +563,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 [[yii\base\ActionEvent::isValid]] рівним `false`, то всі наступні події не будуть викликані.
 
 
-### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <a name="afterAction"></a>
+### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <span id="afterAction"></span>
 
 Ця подія виникає *після* виконання [дії контролера](structure-controllers.md). Справжнє ім’я події - `afterAction`.
 
@@ -586,7 +586,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 Таким чином, контролери є першими, хто ініціює дану подію, далі йдуть модулі (якщо такі є), і врешті - у додатках.
 
 
-## Життєвий цикл додатка <a name="application-lifecycle"></a>
+## Життєвий цикл додатка <span id="application-lifecycle"></span>
 
 ![Життєвий цикл додатка](images/application-lifecycle.png)
 
diff --git a/docs/guide-uk/structure-controllers.md b/docs/guide-uk/structure-controllers.md
index b7902b7..8e3b383 100644
--- a/docs/guide-uk/structure-controllers.md
+++ b/docs/guide-uk/structure-controllers.md
@@ -8,7 +8,7 @@
 [представлення](structure-views.md), і в кінцевому підсумку згенерують вихідні відповіді.
 
 
-## Дії <a name="actions"></a>
+## Дії <span id="actions"></span>
 
 Контролери складаються з *дій*, які є основними блоками, до яких може звертатись кінцевий користувач і запитувати
 виконання того або іншого функціоналу. В контролері може бути одна або декілька дій.
@@ -62,7 +62,7 @@ class PostController extends Controller
 предаставлення `create`, через яке користувач зможе вказати необхідні дані.
 
 
-## Маршрути <a name="routes"></a>
+## Маршрути <span id="routes"></span>
 
 Кінцеві користувачі звертаються до дій з допомогою так названих  *маршрутів*. Маршрут це рядок, 
 який складається з наступних частин:
@@ -89,7 +89,7 @@ ModuleID/ControllerID/ActionID
 про те, як маршрути співставляються із діями.
 
 
-## Створення контролерів <a name="creating-controllers"></a>
+## Створення контролерів <span id="creating-controllers"></span>
 
 У [[yii\web\Application|веб додатках]] контролери повинні бути успадкованими від класу [[yii\web\Controller]]
 або його нащадків. Аналогічно для [[yii\console\Application|консольних додатків]], контролери повинні бути
@@ -106,7 +106,7 @@ class SiteController extends Controller
 ```
 
 
-### ID контролерів <a name="controller-ids"></a>
+### ID контролерів <span id="controller-ids"></span>
 
 За звичай контролер зроблений таким чином, що він повинен обробляти запити, які пов’язані з певним ресурсом.
 Саме з цієї причини, ID контролерів за завичай є іменниками, які посилаються на ресурс, який вони обробляють.
@@ -123,7 +123,7 @@ ID контролера також може містити префікс суб
 (наприклад `panels/admin`).
 
 
-### Іменування класів контролерів <a name="controller-class-naming"></a>
+### Іменування класів контролерів <span id="controller-class-naming"></span>
 
 Назви класів контролерів можуть бути отримані із ID контролерів наступними правилами:
 
@@ -151,7 +151,7 @@ ID контролера також може містити префікс суб
   свої контролери у декілька категорій і не хочете використовувати [модулі](structure-modules.md).
 
 
-### Мапа контролерів <a name="controller-map"></a>
+### Мапа контролерів <span id="controller-map"></span>
 
 Ви можете налаштувати [[yii\base\Application::controllerMap|мапу контролерів]] для того, щоб подолати
 описані вище обмеження іменування ID контролерів і назв класів. В основному, це дуже зручно, коли ви використовуєте
@@ -175,7 +175,7 @@ ID контролера також може містити префікс суб
 ]
 ```
 
-### Контролер за замовчуванням <a name="default-controller"></a>
+### Контролер за замовчуванням <span id="default-controller"></span>
 
 Кожний додаток має контролер за замовчуванням, вказаний через властивість [[yii\base\Application::defaultRoute]].
 Коли в запиті не вказано [маршрут](#ids-routes), то буде використано маршрут із даної властивості.
@@ -193,7 +193,7 @@ ID контролера також може містити префікс суб
 ```
 
 
-## Створення дій <a name="creating-actions"></a>
+## Створення дій <span id="creating-actions"></span>
 
 Створення дій може бути таким же простим, як і оголошення так званих *методов дій* у класі контролера. 
 Метод дії це *public* метод, ім’я якого починається зі слова `action`. Значення методі дії, що повертається, є даними
@@ -219,7 +219,7 @@ class SiteController extends Controller
 ```
 
 
-### ID дій <a name="action-ids"></a>
+### ID дій <span id="action-ids"></span>
 
 Частіше за все, дія розробляється для певної конкретної обробки ресурса. З цієї причини ID дій, в основному,
 є дієсловами, такими як `view`, `update`, і т.д.
@@ -235,7 +235,7 @@ class SiteController extends Controller
 контролерах або при використанні у [розширеннях](structure-extensions.md).
 
 
-### Вбудовані дії <a name="inline-actions"></a>
+### Вбудовані дії <span id="inline-actions"></span>
 
 Вбудовані дії це ті дії, які визначені у рамках методів контролера, як ми це вже обговорили.
 
@@ -257,7 +257,7 @@ class SiteController extends Controller
 перерозподілити дії, ви повинні визначити їх як *окремими діями*.
 
 
-### Окремі дії <a name="standalone-actions"></a>
+### Окремі дії <span id="standalone-actions"></span>
 
 Окремі дії визначаються в якості класів, успадкованих від [[yii\base\Action]] або його нащадків.
 Наприклад, в релізах Yii присутні [[yii\web\ViewAction]] та [[yii\web\ErrorAction]], обидва класи є окремими діями.
@@ -304,7 +304,7 @@ class HelloWorldAction extends Action
 ```
 
 
-### Результати дій <a name="action-results"></a>
+### Результати дій <span id="action-results"></span>
 
 Значення, що повертається від метода дії або метода `run()` окремої дії дуже важливе. 
 Воно є результатом виконання відповідної дії.
@@ -330,7 +330,7 @@ public function actionForward()
 ```
 
 
-### Параметри дій <a name="action-parameters"></a>
+### Параметри дій <span id="action-parameters"></span>
 
 Методи дій для вбудованих дій і методи `run()` для окремих дій можуть приймати, так звані, *параметри дії*. 
 Їх значення беруться із запитів. Для [[yii\web\Application|веб додатків]], значення кожного з параметрів дії 
@@ -382,7 +382,7 @@ public function actionView(array $id, $version = null)
 про параметри консольних додатків наведено в секції [Консольні команди](tutorial-console.md).
 
 
-### Дія за замовчуванням <a name="default-action"></a>
+### Дія за замовчуванням <span id="default-action"></span>
 
 Кожний контролер містить дію за замовчуванням, визначену через властивість [[yii\base\Controller::defaultAction]].
 Коли [маршрут](#ids-routes) містить тільки ID контролера, то розуміється, що було запитана дія контролера
@@ -408,7 +408,7 @@ class SiteController extends Controller
 ```
 
 
-## Життєвий цикл контролера <a name="controller-lifecycle"></a>
+## Життєвий цикл контролера <span id="controller-lifecycle"></span>
 
 При обробці запиту, [додаток](structure-applications.md) створить контролер, базуючись на [маршруті](#routes), 
 який було запитано. Для виконання запиту, контролер пройде через наступні етапи життєвого циклу:
@@ -433,7 +433,7 @@ class SiteController extends Controller
 6. Додаток, отримавши результат виконання дії, привласнює його об’єкту [response](runtime-responses.md).
 
 
-## Кращі практики <a name="best-practices"></a>
+## Кращі практики <span id="best-practices"></span>
 
 В добре організованих додатках, контролери за звичай дуже тонкі, і містять лише декілька рядків коду.
 Якщо ваш контролер дуже складний, це за звичай означає, що вам потрібно провести його рефакторинг і
diff --git a/docs/guide-uk/structure-entry-scripts.md b/docs/guide-uk/structure-entry-scripts.md
index 09a27e3..315b6c0 100644
--- a/docs/guide-uk/structure-entry-scripts.md
+++ b/docs/guide-uk/structure-entry-scripts.md
@@ -23,7 +23,7 @@
 * Викликають метод [[yii\base\Application::run()]] додатка для обробки вхідного запиту.
 
 
-## Веб додатки <a name="web-applications"></a>
+## Веб додатки <span id="web-applications"></span>
 
 Нижче наведений код вхідного скрипта для [базового шаблону додатка](start-installation.md).
 
@@ -47,7 +47,7 @@ $config = require(__DIR__ . '/../config/web.php');
 ```
 
 
-## Консольні додатки <a name="console-applications"></a>
+## Консольні додатки <span id="console-applications"></span>
 
 Нижче наведений аналогічний код вхідного скрипта консольного додатка:
 
@@ -83,7 +83,7 @@ exit($exitCode);
 ```
 
 
-## Оголошення констант <a name="defining-constants"></a>
+## Оголошення констант <span id="defining-constants"></span>
 
 Вхідні скрипти є найкращим місцем для оголошення глобальних констант. Yii підтримує наступні три константи:
 
diff --git a/docs/guide-zh-CN/caching-data.md b/docs/guide-zh-CN/caching-data.md
index ff9fdce..a1d98ca 100644
--- a/docs/guide-zh-CN/caching-data.md
+++ b/docs/guide-zh-CN/caching-data.md
@@ -21,7 +21,7 @@ if ($data === false) {
 ```
 
 
-## 缓存组件 <a name="cache-components"></a>
+## 缓存组件 <span id="cache-components"></span>
 
 数据缓存需要**缓存组件**提供支持,它代表各种缓存存储器,例如内存,文件,数据库。
 
@@ -63,7 +63,7 @@ if ($data === false) {
 > Tip: 你可以注册多个缓存组件,很多依赖缓存的类默认调用名为 `cache` 的组件(例如 [[yii\web\UrlManager]])。
 
 
-### 支持的缓存存储器 <a name="supported-cache-storage"></a>
+### 支持的缓存存储器 <span id="supported-cache-storage"></span>
 
 Yii 支持一系列缓存存储器,概况如下:
 
@@ -81,7 +81,7 @@ Yii 支持一系列缓存存储器,概况如下:
 > Tip: 你可以在同一个应用程序中使用不同的缓存存储器。一个常见的策略是使用基于内存的缓存存储器存储小而常用的数据(例如:统计数据),使用基于文件或数据库的缓存存储器存储大而不太常用的数据(例如:网页内容)。
 
 
-## 缓存 API <a name="cache-apis"></a>
+## 缓存 API <span id="cache-apis"></span>
 
 所有缓存组件都有同样的基类 [[yii\caching\Cache]] ,因此都支持如下 API:
 
@@ -105,7 +105,7 @@ $value2 = $cache['var2'];  // 等价于: $value2 = $cache->get('var2');
 ```
 
 
-### 缓存键 <a name="cache-keys"></a>
+### 缓存键 <span id="cache-keys"></span>
 
 存储在缓存中的每项数据都通过键作唯一识别。当你在缓存中存储一项数据时,必须为它指定一个键,稍后从缓存中取回数据时,也需要提供相应的键。
 
@@ -138,7 +138,7 @@ $value2 = $cache['var2'];  // 等价于: $value2 = $cache->get('var2');
 为了确保互通性,此处只能使用字母和数字。
 
 
-### 缓存过期 <a name="cache-expiration"></a>
+### 缓存过期 <span id="cache-expiration"></span>
 
 默认情况下,缓存中的数据会永久存留,除非它被某些缓存策略强制移除(例如:缓存空间已满,最老的数据会被移除)。要改变此特性,你可以在调用 [[yii\caching\Cache::set()|set()]] 存储一项数据时提供一个过期时间参数。该参数代表这项数据在缓存中可保持有效多少秒。当你调用 [[yii\caching\Cache::get()|get()]] 取回数据时,如果它已经过了超时时间,该方法将返回 false,表明在缓存中找不到这项数据。例如:
 
@@ -155,7 +155,7 @@ if ($data === false) {
 ```
 
 
-### 缓存依赖 <a name="cache-dependencies"></a>
+### 缓存依赖 <span id="cache-dependencies"></span>
 
 除了超时设置,缓存数据还可能受到**缓存依赖**的影响而失效。例如,[[yii\caching\FileDependency]] 代表对一个文件修改时间的依赖。这个依赖条件发生变化也就意味着相应的文件已经被修改。因此,缓存中任何过期的文件内容都应该被置为失效状态,对 [[yii\caching\Cache::get()|get()]] 的调用都应该返回 false。
 
@@ -184,7 +184,7 @@ $data = $cache->get($key);
 - [[yii\caching\GroupDependency]]:将一项缓存数据标记到一个组名,你可以通过调用 [[yii\caching\GroupDependency::invalidate()]] 一次性将相同组名的缓存全部置为失效状态。
 
 
-## 查询缓存 <a name="query-caching"></a>
+## 查询缓存 <span id="query-caching"></span>
 
 查询缓存是一个建立在数据缓存之上的特殊缓存特性。它用于缓存数据库查询的结果。
 
@@ -208,7 +208,7 @@ $db->endCache();
 > Info: 有些 DBMS (例如:[MySQL](http://dev.mysql.com/doc/refman/5.1/en/query-cache.html))也支持数据库服务器端的查询缓存。你可以选择使用任一查询缓存机制。上文所述的查询缓存的好处在于你可以指定更灵活的缓存依赖因此可能更加高效。
 
 
-### 配置 <a name="query-caching-configs"></a>
+### 配置 <span id="query-caching-configs"></span>
 
 查询缓存有两个通过 [[yii\db\Connection]] 设置的配置项:
 
@@ -216,7 +216,7 @@ $db->endCache();
 * [[yii\db\Connection::queryCache|queryCache]]: 缓存应用组件的 ID。默认为 `'cache'`。只有在设置了一个有效的缓存应用组件时,查询缓存才会有效。
 
 
-### 限制条件 <a name="query-caching-limitations"></a>
+### 限制条件 <span id="query-caching-limitations"></span>
 
 当查询结果中含有资源句柄时,查询缓存无法使用。例如,在有些 DBMS 中使用了 `BLOB` 列的时候,缓存结果会为该数据列返回一个资源句柄。
 
diff --git a/docs/guide-zh-CN/caching-fragment.md b/docs/guide-zh-CN/caching-fragment.md
index d8dd970..88698f6 100644
--- a/docs/guide-zh-CN/caching-fragment.md
+++ b/docs/guide-zh-CN/caching-fragment.md
@@ -19,11 +19,11 @@ if ($this->beginCache($id)) {
 和[[数据缓存]](caching-data.md)一样,每个片段缓存也需要全局唯一的 `$id` 标记。
 
 
-## 缓存选项 <a name="caching-options"></a>
+## 缓存选项 <span id="caching-options"></span>
 
 如果要为片段缓存指定额外配置项,请通过向 [[yii\base\View::beginCache()|beginCache()]] 方法第二个参数传递配置数组。在框架内部,该数组将被用来配置一个 [[yii\widget\FragmentCache]] 小部件用以实现片段缓存功能。
 
-### 过期时间(duration) <a name="duration"></a>
+### 过期时间(duration) <span id="duration"></span>
 
 或许片段缓存中最常用的一个配置选项就是 [[yii\widgets\FragmentCache::duration|duration]] 了。它指定了内容被缓存的秒数。以下代码缓存内容最多一小时:
 
@@ -39,7 +39,7 @@ if ($this->beginCache($id, ['duration' => 3600])) {
 如果该选项未设置,则默认为 0,永不过期。
 
 
-### 依赖 <a name="dependencies"></a>
+### 依赖 <span id="dependencies"></span>
 
 和[[数据缓存]](caching-data.md)一样,片段缓存的内容一样可以设置缓存依赖。例如一段被缓存的文章,是否重新缓存取决于它是否被修改过。
 
@@ -60,7 +60,7 @@ if ($this->beginCache($id, ['dependency' => $dependency])) {
 ```
 
 
-### 变化 <a name="variations"></a>
+### 变化 <span id="variations"></span>
 
 缓存的内容可能需要根据一些参数的更改而变化。例如一个 Web 应用支持多语言,同一段视图代码也许需要生成多个语言的内容。因此可以设置缓存根据应用当前语言而变化。
 
@@ -76,7 +76,7 @@ if ($this->beginCache($id, ['variations' => [Yii::$app->language]])) {
 ```
 
 
-### 开关 <a name="toggling-caching"></a>
+### 开关 <span id="toggling-caching"></span>
 
 有时你可能只想在特定条件下开启片段缓存。例如,一个显示表单的页面,可能只需要在初次请求时缓存表单(通过 GET 请求)。随后请求所显示(通过 POST 请求)的表单不该使用缓存,因为此时表单中可能包含用户输入内容。鉴于此种情况,可以使用 [[yii\widgets\FragmentCache::enabled|enabled]] 选项来指定缓存开关,如下所示:
 
@@ -90,7 +90,7 @@ if ($this->beginCache($id, ['enabled' => Yii::$app->request->isGet])) {
 ```
 
 
-## 缓存嵌套 <a name="nested-caching"></a>
+## 缓存嵌套 <span id="nested-caching"></span>
 
 片段缓存可以被嵌套使用。一个片段缓存可以被另一个包裹。例如,评论被缓存在里层,同时整个评论的片段又被缓存在外层的文章中。以下代码展示了片段缓存的嵌套使用:
 
@@ -117,7 +117,7 @@ if ($this->beginCache($id1)) {
 > 译注:外层的失效时间应该短于内层,外层的依赖条件应该低于内层,以确保最小的片段,返回的是最新的数据。
 
 
-## 动态内容 <a name="dynamic-content"></a>
+## 动态内容 <span id="dynamic-content"></span>
 
 使用片段缓存时,可能会遇到一大段较为静态的内容中有少许动态内容的情况。例如,一个显示着菜单栏和当前用户名的页面头部。还有一种可能是缓存的内容可能包含每次请求都需要执行的 PHP 代码(例如注册资源包的代码)。这两个问题都可以使用**动态内容**功能解决。
 
diff --git a/docs/guide-zh-CN/caching-http.md b/docs/guide-zh-CN/caching-http.md
index 05fd98e..a27032f 100644
--- a/docs/guide-zh-CN/caching-http.md
+++ b/docs/guide-zh-CN/caching-http.md
@@ -10,7 +10,7 @@ HTTP 缓存
 * [[yii\filters\HttpCache::cacheControlHeader|Cache-Control]]
 
 
-## `Last-Modified` 头 <a name="last-modified"></a>
+## `Last-Modified` 头 <span id="last-modified"></span>
 
 `Last-Modified` 头使用时间戳标明页面自上次客户端缓存后是否被修改过。
 
@@ -46,7 +46,7 @@ public function behaviors()
 上述代码表明 HTTP 缓存只在 `index` 操作时启用。它会基于页面最后修改时间生成一个 `Last-Modified` HTTP 头。当浏览器第一次访问 `index` 页时,服务器将会生成页面并发送至客户端浏览器。之后客户端浏览器在页面没被修改期间访问该页,服务器将不会重新生成页面,浏览器会使用之前客户端缓存下来的内容。因此服务端渲染和内容传输都将省去。
 
 
-## `ETag` 头 <a name="etag"></a>
+## `ETag` 头 <span id="etag"></span>
 
 “Entity Tag”(实体标签,简称 ETag)使用一个哈希值表示页面内容。如果页面被修改过,哈希值也会随之改变。通过对比客户端的哈希值和服务器端生成的哈希值,浏览器就能判断页面是否被修改过,进而决定是否应该重新传输内容。
 
@@ -90,7 +90,7 @@ ETag 相比 `Last-Modified` 能实现更复杂和更精确的缓存策略。例�
 
 
 
-## `Cache-Control` 头 <a name="cache-control"></a>
+## `Cache-Control` 头 <span id="cache-control"></span>
 
 `Cache-Control` 头指定了页面的常规缓存策略。可以通过配置 [[yii\filters\HttpCache::cacheControlHeader]] 属性发送相应的头信息。默认发送以下头:
 
@@ -98,12 +98,12 @@ ETag 相比 `Last-Modified` 能实现更复杂和更精确的缓存策略。例�
 Cache-Control: public, max-age=3600
 ```
 
-## 会话缓存限制器 <a name="session-cache-limiter"></a>
+## 会话缓存限制器 <span id="session-cache-limiter"></span>
 
 当页面使 session 时,PHP 将会按照 PHP.INI 中所设置的 `session.cache_limiter` 值自动发送一些缓存相关的 HTTP 头。这些 HTTP 头有可能会干扰你原本设置的 `HttpCache` 或让其失效。为了避免此问题,默认情况下 `HttpCache` 禁止自动发送这些头。想改变这一行为,可以配置 [[yii\filters\HttpCache::sessionCacheLimiter]] 属性。该属性接受一个字符串值,包括 `public`,`private`,`private_no_expire`,和 `nocache`。请参考 PHP 手册中的[缓存限制器](http://www.php.net/manual/en/function.session-cache-limiter.php)了解这些值的含义。
 
 
-## SEO 影响 <a name="seo-implications"></a>
+## SEO 影响 <span id="seo-implications"></span>
 
 搜索引擎趋向于遵循站点的缓存头。因为一些爬虫的抓取频率有限制,启用缓存头可以可以减少重复请求数量,增加爬虫抓取效率(译者:大意如此,但搜索引擎的排名规则不了解,好的缓存策略应该是可以为用户体验加分的)。
 
diff --git a/docs/guide-zh-CN/concept-aliases.md b/docs/guide-zh-CN/concept-aliases.md
index a8b27a5..658b722 100644
--- a/docs/guide-zh-CN/concept-aliases.md
+++ b/docs/guide-zh-CN/concept-aliases.md
@@ -4,7 +4,7 @@
 别名用来表示文件路径和 URL,这样就避免了在代码中硬编码一些绝对路径和 URL。一个别名必须以 `@` 字符开头,以区别于传统的文件路径和 URL。Yii 预定义了大量可用的别名。例如,别名 `@yii` 指的是 Yii 框架本身的安装目录,而 `@web` 表示的是当前运行应用的根 URL。
 
 
-定义别名 <a name="defining-aliases"></a>
+定义别名 <span id="defining-aliases"></span>
 ----------------
 
 你可以调用 [[Yii::setAlias()]] 来给文件路径或 URL 定义别名:
@@ -40,7 +40,7 @@ return [
 ```
 
 
-解析别名 <a name="resolving-aliases"></a>
+解析别名 <span id="resolving-aliases"></span>
 -----------------
 
 你可以调用 [[Yii::getAlias()]] 命令来解析根别名到对应的文件路径或 URL。同样的页面也可以用于解析衍生别名。例如:
@@ -67,7 +67,7 @@ echo Yii::getAlias('@foo/bar/file.php');   // 输出:/path2/bar/file.php
 若 `@foo/bar` 未被定义为根别名,最后一行语句会显示为 `/path/to/foo/bar/file.php`。
 
 
-使用别名 <a name="using-aliases"></a>
+使用别名 <span id="using-aliases"></span>
 -------------
 
 别名在 Yii 的很多地方都会被正确识别,无需调用 [[Yii::getAlias()]] 来把它们转换为路径/URL。例如,[[yii\caching\FileCache::cachePath]] 能同时接受文件路径或是指向文件路径的别名,因为通过 `@` 前缀能区分它们。
@@ -83,7 +83,7 @@ $cache = new FileCache([
 请关注 API 文档了解特定属性或方法参数是否支持别名。
 
 
-预定义的别名 <a name="predefined-aliases"></a>
+预定义的别名 <span id="predefined-aliases"></span>
 ------------------
 
 Yii 预定义了一系列别名来简化常用路径和 URL 的使用:
@@ -98,7 +98,7 @@ Yii 预定义了一系列别名来简化常用路径和 URL 的使用:
 `@yii` 别名是在[入口脚本](structure-entry-scripts.md)里包含 `Yii.php` 文件时定义的,其他的别名都是在[配置应用](concept-configurations.md)的时候,于应用的构造方法内定义的。
 
 
-扩展的别名 <a name="extension-aliases"></a>
+扩展的别名 <span id="extension-aliases"></span>
 -----------------
 
 每一个通过 Composer 安装的 [扩展](structure-extensions.md) 都自动添加了一个别名。该别名会以该扩展在 `composer.json` 文件中所声明的根命名空间为名,且他直接代指该包的根目录。例如,如果你安装有 `yiisoft/yii2-jui` 扩展,会自动得到 `@yii/jui` 别名,它定义于[引导启动](runtime-bootstrapping.md)阶段:
diff --git a/docs/guide-zh-CN/concept-autoloading.md b/docs/guide-zh-CN/concept-autoloading.md
index c0e7b6c..4b9697a 100644
--- a/docs/guide-zh-CN/concept-autoloading.md
+++ b/docs/guide-zh-CN/concept-autoloading.md
@@ -6,7 +6,7 @@ Yii 依靠[类自动加载机制](http://www.php.net/manual/en/language.oop5.aut
 > 注意:为了简化叙述,本篇文档中我们只会提及类的自动加载。不过,要记得文中的描述同样也适用于接口和Trait(特质)的自动加载哦。
 
 
-使用 Yii 自动加载器 <a name="using-yii-autoloader"></a>
+使用 Yii 自动加载器 <span id="using-yii-autoloader"></span>
 ------------------------
 
 要使用 Yii  的类自动加载器,你需要在创建和命名类的时候遵循两个简单的规则:
@@ -27,7 +27,7 @@ $classFile = Yii::getAlias('@' . str_replace('\\', '/', $className) . '.php');
 在[高级应用模版](tutorial-advanced-app.md)里,每一逻辑层级会使用他自己的根别名。比如,前端层会使用 `@frontend` 而后端层会使用 `@backend`。因此,你可以把前端的类放在 `frontend` 命名空间,而后端的类放在 `backend`。 这样这些类就可以被 Yii 自动加载了。
 
 
-类映射表(Class Map) <a name="class-map"></a>
+类映射表(Class Map) <span id="class-map"></span>
 ---------
 
 Yii 类自动加载器支持**类映射表**功能,该功能会建立一个从类的名字到类文件路径的映射。当自动加载器加载一个文件时,他首先检查映射表里有没有该类。如果有,对应的文件路径就直接加载了,省掉了进一步的检查。这让类的自动加载变得超级快。事实上所有的 Yii 核心类都是这样加载的。
@@ -41,7 +41,7 @@ Yii::$classMap['foo\bar\MyClass'] = 'path/to/MyClass.php';
 [别名](concept-aliases.md)可以被用于指定类文件的路径。你应该在[引导启动](runtime-bootstrapping.md)的过程中设置类映射表,这样映射表就可以在你使用具体类之前就准备好。
 
 
-用其他自动加载器 <a name="using-other-autoloaders"></a>
+用其他自动加载器 <span id="using-other-autoloaders"></span>
 -----------------------
 
 因为 Yii 完全支持 Composer 管理依赖包,所以推荐你也同时安装 Composer 的自动加载器,如果你用了一些自带自动加载器的第三方类库,你应该也安装下它们。
@@ -58,7 +58,7 @@ require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
 > 补充:若你不想要使用 Yii 的自动加载器,你必须创建一个你自己版本的 `Yii.php` 文件,并把它包含进你的[入口脚本](structure-entry-scripts.md)里。
 
 
-自动加载扩展类 <a name="autoloading-extension-classes"></a>
+自动加载扩展类 <span id="autoloading-extension-classes"></span>
 -----------------------------
 
 Yii 自动加载器支持自动加载[扩展](structure-extensions.md)的类。唯一的要求是它需要在 `composer.json` 
diff --git a/docs/guide-zh-CN/concept-configurations.md b/docs/guide-zh-CN/concept-configurations.md
index a55ba48..bbd3f0c 100644
--- a/docs/guide-zh-CN/concept-configurations.md
+++ b/docs/guide-zh-CN/concept-configurations.md
@@ -28,7 +28,7 @@ Yii::configure($object, $config);
 请注意,如果配置一个已存在的对象,那么配置数组中不应该包含指定类名的 `class` 元素。
 
 
-## 配置的格式 <a name="configuration-format"></a>
+## 配置的格式 <span id="configuration-format"></span>
 
 一个配置的格式可以描述为以下形式:
 
@@ -71,7 +71,7 @@ Yii::configure($object, $config);
 Yii 中的配置可以用在很多场景。本章开头我们展示了如何使用 [[Yii::creatObject()]] 根据配置信息创建对象。本小节将介绍配置的两种主要用法 —— 配置应用与配置小部件。
 
 
-### 应用的配置 <a name="application-configurations"></a>
+### 应用的配置 <span id="application-configurations"></span>
 
 [应用](structure-applications.md)的配置可能是最复杂的配置之一。因为 [[yii\web\Application|application]] 类拥有很多可配置的属性和事件。更重要的是它的 [[yii\web\Application::components|components]] 属性可以接收配置数组并通过应用注册为组件。以下是一个针对[基础应用模板](start-installation.md)的应用配置概要:
 
@@ -116,7 +116,7 @@ $config = [
 更多关于应用 `components` 属性配置的信息可以查阅[应用](structure-applications.md)以及[服务定位器](concept-service-locator.md)章节。
 
 
-### 小部件的配置 <a name="widget-configurations"></a>
+### 小部件的配置 <span id="widget-configurations"></span>
 
 使用[小部件](structure-widgets.md)时,常常需要配置以便自定义其属性。 [[yii\base\Widget::widget()]] 和  [[yii\base\Widget::begin()]] 方法都可以用来创建小部件。它们可以接受配置数组:
 
@@ -138,7 +138,7 @@ echo Menu::widget([
 请注意,代码中已经给出了类名 `yii\widgets\Menu',配置数组**不应该**再包含 `class` 键。
 
 
-## 配置文件 <a name="configuration-files"></a>
+## 配置文件 <span id="configuration-files"></span>
 
 当配置的内容十分复杂,通用做法是将其存储在一或多个 PHP 文件中,这些文件被称为**配置文件**。一个配置文件返回的是 PHP 数组。例如,像这样把应用配置信息存储在名为 `web.php` 的文件中:
 
@@ -188,7 +188,7 @@ $config = require('path/to/web.php');
 ```
 
 
-## 默认配置 <a name="default-configurations"></a>
+## 默认配置 <span id="default-configurations"></span>
 
 [[Yii::createObject()]] 方法基于[依赖注入容器](concept-di-container.md)实现。使用 [[Yii::creatObject()]] 创建对象时,可以附加一系列**默认配置**到指定类的任何实例。默认配置还可以在[入口脚本](runtime-bootstrapping.md)中调用 `Yii::$container->set()` 来定义。
 
@@ -203,7 +203,7 @@ $config = require('path/to/web.php');
 不使用默认配置的话,你就得在任何使用分页器的地方,都配置 `maxButtonCount` 的值。
 
 
-## 环境常量 <a name="environment-constants"></a>
+## 环境常量 <span id="environment-constants"></span>
 
 配置经常要随着应用运行的不同环境更改。例如在开发环境中,你可能使用名为 `mydb_dev` 的数据库,而生产环境则使用 `mydb_prod` 数据库。为了便于切换使用环境,Yii 提供了一个定义在入口脚本中的 `YII_ENV` 常量。如下:
 
diff --git a/docs/guide-zh-CN/concept-di-container.md b/docs/guide-zh-CN/concept-di-container.md
index 2f8050f..da1c1ce 100644
--- a/docs/guide-zh-CN/concept-di-container.md
+++ b/docs/guide-zh-CN/concept-di-container.md
@@ -4,7 +4,7 @@
 依赖注入(Dependency Injection,DI)容器就是一个对象,它知道怎样初始化并配置对象及其依赖的所有对象。[Martin 的文章](http://martinfowler.com/articles/injection.html) 已经解释了 DI 容器为什么很有用。这里我们主要讲解 Yii 提供的 DI 容器的使用方法。
 
 
-依赖注入 <a name="dependency-injection"></a>
+依赖注入 <span id="dependency-injection"></span>
 --------------------
 
 Yii 通过 [[yii\di\Container]] 类提供 DI 容器特性。它支持如下几种类型的依赖注入:
@@ -14,7 +14,7 @@ Yii 通过 [[yii\di\Container]] 类提供 DI 容器特性。它支持如下几�
 * PHP 回调注入.
 
 
-### 构造方法注入 <a name="constructor-injection"></a>
+### 构造方法注入 <span id="constructor-injection"></span>
 
 在参数类型提示的帮助下,DI 容器实现了构造方法注入。当容器被用于创建一个新对象时,类型提示会告诉它要依赖什么类或接口。容器会尝试获取它所依赖的类或接口的实例,然后通过构造器将其注入新的对象。例如:
 
@@ -33,7 +33,7 @@ $foo = new Foo($bar);
 ```
 
 
-### Setter 和属性注入 <a name="setter-and-property-injection"></a>
+### Setter 和属性注入 <span id="setter-and-property-injection"></span>
 
 Setter 和属性注入是通过[配置](concept-configurations.md)提供支持的。当注册一个依赖或创建一个新对象时,你可以提供一个配置,该配置会提供给容器用于通过相应的 Setter 或属性注入依赖。例如:
 
@@ -64,7 +64,7 @@ $container->get('Foo', [], [
 ```
 
 
-### PHP 回调注入 <a name="php-callable-injection"></a>
+### PHP 回调注入 <span id="php-callable-injection"></span>
 
 这种情况下,容器将使用一个注册过的 PHP 回调创建一个类的新实例。回调负责解决依赖并将其恰当地注入新创建的对象。例如:
 
@@ -77,7 +77,7 @@ $foo = $container->get('Foo');
 ```
 
 
-注册依赖关系 <a name="registering-dependencies"></a>
+注册依赖关系 <span id="registering-dependencies"></span>
 ------------------------
 
 可以用 [[yii\di\Container::set()]] 注册依赖关系。注册会用到一个依赖关系名称和一个依赖关系的定义。依赖关系名称可以是一个类名,一个接口名或一个别名。依赖关系的定义可以是一个类名,一个配置数组,或者一个 PHP 回调。
@@ -140,7 +140,7 @@ $container->setSingleton('yii\db\Connection', [
 ```
 
 
-解决依赖关系 <a name="resolving-dependencies"></a>
+解决依赖关系 <span id="resolving-dependencies"></span>
 ----------------------
 
 注册依赖关系后,就可以使用 DI 容器创建新对象了。容器会自动解决依赖关系,将依赖实例化并注入新创建的对象。依赖关系的解决是递归的,如果一个依赖关系中还有其他依赖关系,则这些依赖关系都会被自动解决。
@@ -216,7 +216,7 @@ $lister = new UserLister($finder);
 ```
 
 
-实践中的运用 <a name="practical-usage"></a>
+实践中的运用 <span id="practical-usage"></span>
 ---------------
 
 当在应用程序的[入口脚本](structure-entry-scripts.md)中引入 `Yii.php` 文件时,Yii 就创建了一个 DI 容器。这个 DI 容器可以通过 [[Yii::$container]] 访问。当调用 [[Yii::createObject()]] 时,此方法实际上会调用这个容器的 [[yii\di\Container::get()|get()]] 方法创建新对象。如上所述,DI 容器会自动解决依赖关系(如果有)并将其注入新创建的对象中。因为 Yii 在其多数核心代码中都使用了
@@ -269,7 +269,7 @@ class HotelController extends Controller
 现在如果你再次访问这个控制器,一个 `app\components\BookingService` 的实例就会被创建并被作为第三个参数注入到控制器的构造器中。
 
 
-什么时候注册依赖关系 <a name="when-to-register-dependencies"></a>
+什么时候注册依赖关系 <span id="when-to-register-dependencies"></span>
 -----------------------------
 
 由于依赖关系在创建新对象时需要解决,因此它们的注册应该尽早完成。如下是推荐的实践:
@@ -278,7 +278,7 @@ class HotelController extends Controller
 * 如果你是一个可再分发[扩展](structure-extensions.md)的开发者,你可以将依赖关系注册到扩展的引导类中。
 
 
-总结 <a name="summary"></a>
+总结 <span id="summary"></span>
 -------
 
 依赖注入和[服务定位器](concept-service-locator.md)都是流行的设计模式,它们使你可以用充分解耦且更利于测试的风格构建软件。强烈推荐你阅读 [Martin 的文章](http://martinfowler.com/articles/injection.html) ,对依赖注入和服务定位器有个更深入的理解。
diff --git a/docs/guide-zh-CN/input-validation.md b/docs/guide-zh-CN/input-validation.md
index e037326..ef9f3a5 100644
--- a/docs/guide-zh-CN/input-validation.md
+++ b/docs/guide-zh-CN/input-validation.md
@@ -26,7 +26,7 @@ if ($model->validate()) {
 3. 用每个激活规则去验证每个与之关联的激活特性。若失败,则记录下对应模型特性的错误信息。
 
 
-## 声明规则(Rules) <a name="declaring-rules"></a>
+## 声明规则(Rules) <span id="declaring-rules"></span>
 
 要让 `validate()` 方法起作用,你需要声明与需验证模型特性相关的验证规则。为此,需要重写 [[yii\base\Model::rules()]] 方法。下面的例子展示了如何声明用于验证 `ContactForm` 模型的相关验证规则:
 
@@ -82,7 +82,7 @@ public function rules()
 基于以上验证步骤,有且仅有声明在 `scenarios()` 方法里的激活特性,且它还必须与一或多个声明自 `rules()` 里的激活规则相关联才会被验证。
 
 
-### 自定义错误信息 <a name="customizing-error-messages"></a>
+### 自定义错误信息 <span id="customizing-error-messages"></span>
 
 大多数的验证器都有默认的错误信息,当模型的某个特性验证失败的时候,该错误信息会被返回给模型。比如,用 [[yii\validators\RequiredValidator|required]] 验证器的规则检验 `username` 特性失败的话,会返还给模型 "Username cannot be blank." 信息。
 
@@ -101,7 +101,7 @@ public function rules()
 你也可以像配置验证器的其他属性一样配置它们俩各自的错误信息。
 
 
-### 验证事件 <a name="validation-events"></a>
+### 验证事件 <span id="validation-events"></span>
 
 当调用 [[yii\base\Model::validate()]] 方法的过程里,它同时会调用两个特殊的方法,把它们重写掉可以实现自定义验证过程的目的:
 
@@ -109,7 +109,7 @@ public function rules()
 * [[yii\base\Model::afterValidate()]]:在默认的实现中会触发 [[yii\base\Model::EVENT_AFTER_VALIDATE]] 事件。你可以重写该方法或者响应此事件,来在验证结束之后,再进行一些收尾的工作。
 
 
-### 条件式验证 <a name="conditional-validation"></a>
+### 条件式验证 <span id="conditional-validation"></span>
 
 若要只在某些条件满足时,才验证相关特性,比如:是否验证某特性取决于另一特性的值,你可以通过
 [[yii\validators\Validator::when|when]] 属性来定义相关条件。举例而言,
@@ -147,7 +147,7 @@ function ($model, $attribute)
 ```
 
 
-### 数据预处理 <a name="data-filtering"></a>
+### 数据预处理 <span id="data-filtering"></span>
 
 用户输入经常需要进行数据过滤,或者叫预处理。比如你可能会需要先去掉 `username` 输入的收尾空格。你可以通过使用验证规则来实现此目的。
 
@@ -165,7 +165,7 @@ function ($model, $attribute)
 如你所见,这些验证规则并不真的对输入数据进行任何验证。而是,对输入数据进行一些处理,然后把它们存回当前被验证的模型特性。
 
 
-### 处理空输入 <a name="handling-empty-inputs"></a>
+### 处理空输入 <span id="handling-empty-inputs"></span>
 
 当输入数据是通过 HTML 表单,你经常会需要给空的输入项赋默认值。你可以通过调整
 [default](tutorial-core-validators.md#default) 验证器来实现这一点。举例来说,
@@ -196,7 +196,7 @@ true,则它们不会对空值进行任何处理。也就是当他们的关联�
 [核心验证器](tutorial-core-validators.md) 之中,只有 `captcha`(验证码),`default`(默认值),`filter`(滤镜),`required`(必填),以及 `trim`(去首尾空格),这几个验证器会处理空输入。
 
 
-## 临时验证 <a name="ad-hoc-validation"></a>
+## 临时验证 <span id="ad-hoc-validation"></span>
 
 有时,你需要对某些没有绑定任何模型类的值进行 **临时验证**。
 
@@ -262,12 +262,12 @@ public function actionSearch($name, $email)
 `$model->name` 和 `$model->email`。
 
 
-## 创建验证器(Validators) <a name="creating-validators"></a>
+## 创建验证器(Validators) <span id="creating-validators"></span>
 
 除了使用 Yii 的发布版里所包含的[核心验证器](tutorial-core-validators.md)之外,你也可以创建你自己的验证器。自定义的验证器可以是**行内验证器**,也可以是**独立验证器**。
 
 
-### 行内验证器(Inline Validators) <a name="inline-validators"></a>
+### 行内验证器(Inline Validators) <span id="inline-validators"></span>
 
 行内验证器是一种以模型方法或匿名函数的形式定义的验证器。这些方法/函数的结构如下:
 
@@ -324,7 +324,7 @@ class MyForm extends Model
 ```
 
 
-### 独立验证器(Standalone Validators) <a name="standalone-validators"></a>
+### 独立验证器(Standalone Validators) <span id="standalone-validators"></span>
 
 独立验证器是继承自 [[yii\validators\Validator]] 或其子类的类。你可以通过重写
 [[yii\validators\Validator::validateAttribute()]] 来实现它的验证规则。若特性验证失败,可以调用
@@ -353,14 +353,14 @@ class CountryValidator extends Validator
 `validateValue()`实现的。
 
 
-## 客户端验证器(Client-Side Validation) <a name="client-side-validation"></a>
+## 客户端验证器(Client-Side Validation) <span id="client-side-validation"></span>
 
 当终端用户通过 HTML 表单提供相关输入信息时,我们可能会需要用到基于 JavaScript 的客户端验证。因为,它可以让用户更快速的得到错误信息,也因此可以提供更好的用户体验。你可以使用或自己实现除服务器端验证之外,**还能额外**客户端验证功能的验证器。
 
 > 补充:尽管客户端验证为加分项,但它不是必须项。它存在的主要意义在于给用户提供更好的客户体验。正如“永远不要相信来自终端用户的输入信息”,也同样永远不要相信客户端验证。基于这个理由,你应该始终如前文所描述的那样,通过调用 [[yii\base\Model::validate()]] 方法执行服务器端验证。
 
 
-### 使用客户端验证 <a name="using-client-side-validation"></a>
+### 使用客户端验证 <span id="using-client-side-validation"></span>
 
 许多[核心验证器](tutorial-core-validators.md)都支持开箱即用的客户端验证。你只需要用 [[yii\widgets\ActiveForm]] 的方式构建 HTML 表单即可。比如,下面的 `LoginForm`(登录表单)声明了两个规则:其一为 [required](tutorial-core-validators.md#required) 核心验证器,它同时支持客户端与服务器端的验证;另一个则采用 `validatePassword` 行内验证器,它只支持服务器端。
 
@@ -412,7 +412,7 @@ class LoginForm extends Model
 若你需要完全关闭客户端验证,你只需配置 [[yii\widgets\ActiveForm::enableClientValidation]] 属性为 false。你同样可以关闭各个输入框各自的客户端验证,只要把它们的 [[yii\widgets\ActiveField::enableClientValidation]] 属性设为 false。
 
 
-### 自己实现客户端验证 <a name="implementing-client-side-validation"></a>
+### 自己实现客户端验证 <span id="implementing-client-side-validation"></span>
 
 要穿件一个支持客户端验证的验证器,你需要实现
 [[yii\validators\Validator::clientValidateAttribute()]] 方法,用于返回一段用于运行客户端验证的 JavaScript 代码。在这段 JavaScript 代码中,你可以使用以下预定义的变量:
diff --git a/docs/guide-zh-CN/output-formatter.md b/docs/guide-zh-CN/output-formatter.md
index 2587ce5..677abc4 100644
--- a/docs/guide-zh-CN/output-formatter.md
+++ b/docs/guide-zh-CN/output-formatter.md
@@ -52,7 +52,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // 输出: 1 января 2014 
 > 可参考: [为国际化设置PHP环境](tutorial-i18n.md#setup-environment).
 
 
-配置格式器 <a name="configuring-format"></a>
+配置格式器 <span id="configuring-format"></span>
 -------------------------
 
 可配置[[yii\i18n\Formatter|formatter class]]的属性来调整格式器方法的默认格式,
@@ -71,7 +71,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // 输出: 1 января 2014 
 ],
 ```
 
-格式化日期和时间 <a name="date-and-time"></a>
+格式化日期和时间 <span id="date-and-time"></span>
 -------------------------------
 
 格式器类为格式化日期和时间提供了多个方法:
@@ -107,7 +107,7 @@ echo Yii::$app->formatter->asDate('now', 'yyyy-MM-dd'); // 2014-10-06
 echo Yii::$app->formatter->asDate('now', 'php:Y-m-d'); // 2014-10-06
 ```
 
-### 时区 <a name="time-zones"></a>
+### 时区 <span id="time-zones"></span>
 
 当格式化日期和时间时,Yii会将它们转换为对应的 [[yii\i18n\Formatter::timeZone|configured time zone]] 时区,
 输入的值在没有指定时区时候会被当作UTC时间,因此,推荐存储所有的日期和时间为UTC而不是UNIX时间戳,UNIX通常也是UTC。
@@ -126,7 +126,7 @@ echo Yii::$app->formatter->asTime('2014-10-06 14:41:00 CEST'); // 14:41:00
 > 也可参考:[为国际化设置PHP环境](tutorial-i18n.md#setup-environment).
 
 
-格式化数字 <a name="numbers"></a>
+格式化数字 <span id="numbers"></span>
 ------------------
 
 格式器类提供如下方法格式化数值:
@@ -154,7 +154,7 @@ For formatting numeric values the formatter class provides the following methods
 ]
 ```
 
-其他格式器  <a name="other"></a>
+其他格式器  <span id="other"></span>
 ----------------
 
 除了日期、时间和数字格式化外,Yii提供其他用途提供一些实用的格式器:
@@ -172,7 +172,7 @@ Additional to date, time and number formatting, Yii provides a set of other usef
 - [[yii\i18n\Formatter::asBoolean()|boolean]] - 值会格式化成布尔型值,默认情况下 `true` 对应 `Yes`,`false` 对应 `No`,
   可根据应用语言配置进行翻译,可以配置[[yii\i18n\Formatter::booleanFormat]]-属性来调整;
 
-`null`-值 <a name="null-values"></a>
+`null`-值 <span id="null-values"></span>
 -------------
 
 对于PHP的`null`值,格式器类会打印一个占位符而不是空字符串,空字符串默认会显示对应当前语言`(not set)`,
diff --git a/docs/guide-zh-CN/rest-quick-start.md b/docs/guide-zh-CN/rest-quick-start.md
index 17e5717..1f8ed5f 100644
--- a/docs/guide-zh-CN/rest-quick-start.md
+++ b/docs/guide-zh-CN/rest-quick-start.md
@@ -22,7 +22,7 @@ Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的
 你已经创建了 [[yii\db\ActiveRecord|ActiveRecord]] 类 `app\models\User` 来访问该用户数据.
 
 
-## 创建一个控制器 <a name="creating-controller"></a>
+## 创建一个控制器 <span id="creating-controller"></span>
 
 首先,创建一个控制器类 `app\controllers\UserController` 如下,
 
@@ -41,7 +41,7 @@ class UserController extends ActiveController
 作为 `app\models\User`, 控制器就能知道使用哪个模型去获取和处理数据。
 
 
-## 配置URL规则 <a name="configuring-url-rules"></a>
+## 配置URL规则 <span id="configuring-url-rules"></span>
 
 然后,修改有关在应用程序配置的`urlManager`组件的配置:
 
@@ -60,7 +60,7 @@ class UserController extends ActiveController
 用户的数据就能通过美化的 URL 和有意义的 http 动词进行访问和操作。
 
 
-## 尝试 <a name="trying-it-out"></a>
+## 尝试 <span id="trying-it-out"></span>
 
 随着以上所做的最小的努力,你已经完成了创建用于访问用户数据
 的 RESTful 风格的 API。你所创建的 API 包括:
@@ -158,7 +158,7 @@ Content-Type: application/xml
 > 你应该在 [响应格式](rest-response-formatting.md) 部分中过滤掉这些字段。
 
 
-## 总结 <a name="summary"></a>
+## 总结 <span id="summary"></span>
 
 使用 Yii 框架的 RESTful 风格的 API, 在控制器的操作中实现API末端,使用
 控制器来组织末端接口为一个单一的资源类型。
diff --git a/docs/guide-zh-CN/rest-response-formatting.md b/docs/guide-zh-CN/rest-response-formatting.md
index 125f0a0..477c827 100644
--- a/docs/guide-zh-CN/rest-response-formatting.md
+++ b/docs/guide-zh-CN/rest-response-formatting.md
@@ -13,7 +13,7 @@
    [yii\web\Response::formatters|response]] 应用程序组件来注册完成。
 
 
-## 内容协商 <a name="content-negotiation"></a>
+## 内容协商 <span id="content-negotiation"></span>
 
 Yii 提供了通过 [[yii\filters\ContentNegotiator]] 过滤器支持内容协商。RESTful API 基于
 控制器类 [[yii\rest\Controller]] 在 `contentNegotiator` 下配备这个过滤器。
@@ -81,7 +81,7 @@ public function behaviors()
 中支持被响应格式名称。
 
 
-## 数据序列化 <a name="data-serializing"></a>
+## 数据序列化 <span id="data-serializing"></span>
 
 正如我们上面所描述的,[[yii\rest\Serializer]] 负责转换资源的中间件
 对象或集合到数组。它将对象 [[yii\base\ArrayableInterface]] 作为
diff --git a/docs/guide-zh-CN/runtime-handling-errors.md b/docs/guide-zh-CN/runtime-handling-errors.md
index 5867123..9b80e7c 100644
--- a/docs/guide-zh-CN/runtime-handling-errors.md
+++ b/docs/guide-zh-CN/runtime-handling-errors.md
@@ -13,7 +13,7 @@ Yii错误处理器做以下工作来提升错误处理效果:
 可通过在应用的[入口脚本](structure-entry-scripts.md)中定义常量`YII_ENABLE_ERROR_HANDLER`来禁用。
 
 
-## 使用错误处理器 <a name="using-error-handler"></a>
+## 使用错误处理器 <span id="using-error-handler"></span>
 
 [[yii\web\ErrorHandler|error handler]] 注册成一个名称为`errorHandler`[应用组件](structure-application-components.md), 
 可以在应用配置中配置它类似如下:
@@ -55,7 +55,7 @@ throw new NotFoundHttpException();
 ```
 
 
-## 自定义错误显示 <a name="customizing-error-display"></a>
+## 自定义错误显示 <span id="customizing-error-display"></span>
 
 [[yii\web\ErrorHandler|error handler]]错误处理器根据常量`YII_DEBUG`的值来调整错误显示,
 当`YII_DEBUG` 为 true (表示在调试模式),错误处理器会显示异常以及详细的函数调用栈和源代码行数来帮助调试,
@@ -74,7 +74,7 @@ throw new NotFoundHttpException();
 使用自定义的错误显示视图。
 
 
-### 使用错误操作 <a name="using-error-actions"></a>
+### 使用错误操作 <span id="using-error-actions"></span>
 
 使用指定的错误[操作](structure-controllers.md) 来自定义错误显示更方便,
 为此,首先配置`errorHandler`组件的 [[yii\web\ErrorHandler::errorAction|errorAction]] 属性,类似如下: 
@@ -138,7 +138,7 @@ public function actionError()
 错误操作和错误视图已经定义好了。
 
 
-### 自定义错误格式 <a name="error-format"></a>
+### 自定义错误格式 <span id="error-format"></span>
 
 错误处理器根据[响应](runtime-responses.md)设置的格式来显示错误,
 如果[[yii\web\Response::format|response format]] 响应格式为`html`, 会使用错误或异常视图来显示错误信息,如上一小节所述。
diff --git a/docs/guide-zh-CN/runtime-responses.md b/docs/guide-zh-CN/runtime-responses.md
index 5098ad0..b522c0f 100644
--- a/docs/guide-zh-CN/runtime-responses.md
+++ b/docs/guide-zh-CN/runtime-responses.md
@@ -10,7 +10,7 @@
 在本节,将会描述如何构建响应和发送给终端用户。
 
 
-## 状态码 <a name="status-code"></a>
+## 状态码 <span id="status-code"></span>
 
 构建响应时,最先应做的是标识请求是否成功处理的状态,可通过设置
 [[yii\web\Response::statusCode]] 属性,该属性使用一个有效的
@@ -50,7 +50,7 @@ throw new \yii\web\HttpException(402);
 ```
 
 
-## HTTP 头部 <a name="http-headers"></a>
+## HTTP 头部 <span id="http-headers"></span>
 
 可在 `response` 组件中操控[[yii\web\Response::headers|header collection]]来发送HTTP头部信息,例如:
 
@@ -70,7 +70,7 @@ $values = $headers->remove('Pragma');
 > 补充: 头名称是大小写敏感的,在[[yii\web\Response::send()]]方法调用前新注册的头信息并不会发送给用户。
 
 
-## 响应主体 <a name="response-body"></a>
+## 响应主体 <span id="response-body"></span>
 
 大多是响应应有一个主体存放你想要显示给终端用户的内容。
 
@@ -143,7 +143,7 @@ public function actionInfo()
   可使用 [依赖注入](concept-di-container.md) 应用通用配置到你新的响应对象。
 
 
-## 浏览器跳转 <a name="browser-redirection"></a>
+## 浏览器跳转 <span id="browser-redirection"></span>
 
 浏览器跳转依赖于发送一个`Location` HTTP 头,因为该功能通常被使用,Yii提供对它提供了特别的支持。
 
@@ -177,7 +177,7 @@ public function actionOld()
   因此,如果你使用该JavaScript 文件(通过[[yii\web\YiiAsset]] 资源包注册),就不需要编写AJAX跳转的代码。
 
 
-## 发送文件 <a name="sending-files"></a>
+## 发送文件 <span id="sending-files"></span>
 
 和浏览器跳转类似,文件发送是另一个依赖指定HTTP头的功能,Yii提供方法集合来支持各种文件发送需求,它们对HTTP头都有内置的支持。
 
@@ -212,7 +212,7 @@ Web应用可在服务器发送文件前结束,为使用该功能,可调用[[
 - Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile)
 
 
-## 发送响应 <a name="sending-response"></a>
+## 发送响应 <span id="sending-response"></span>
 
 在[[yii\web\Response::send()]] 方法调用前响应中的内容不会发送给用户,该方法默认在[[yii\base\Application::run()]]
 结尾自动调用,尽管如此,可以明确调用该方法强制立即发送响应。
diff --git a/docs/guide-zh-CN/runtime-routing.md b/docs/guide-zh-CN/runtime-routing.md
index 949e781..d8302a8 100644
--- a/docs/guide-zh-CN/runtime-routing.md
+++ b/docs/guide-zh-CN/runtime-routing.md
@@ -5,7 +5,7 @@
 方法时,它进行的第一个操作就是解析输入的请求,然后实例化对应的[控制器操作](structure-controllers.md)处理这个请求。该过程就被称为**引导路由(routing)**。(译注:中文里既是动词也是名词)
 
 
-## 解析路由 <a name="resolving-route"></a>
+## 解析路由 <span id="resolving-route"></span>
 
 路由引导的第一步,是把传入请求解析为一个路由。如我们在 [控制器(Controllers)](structure-controllers.md#routes)
 章节中所描述的那样,路由是一个用于定位控制器操作的地址。这个过程通过 `request` 应用组件的 [[yii\web\Request::resolve()|resolve()]] 
@@ -18,7 +18,7 @@
 假使某路由最终实在无法被确定,那么 `request` 组件会抛出 [[yii\web\NotFoundHttpException]] 异常(译注:大名鼎鼎的 404)。
 
 
-### 缺省路由 <a name="default-route"></a>
+### 缺省路由 <span id="default-route"></span>
 
 如果传入请求并没有提供一个具体的路由,(一般这种情况多为于对首页的请求)此时就会启用由
 [[yii\web\Application::defaultRoute]] 属性所指定的缺省路由。该属性的默认值为 `site/index`,它指向 `site` 控制器的 `index`
@@ -32,7 +32,7 @@ return [
 ```
 
 
-### `catchAll` 路由(全拦截路由) <a name="catchall-route"></a>
+### `catchAll` 路由(全拦截路由) <span id="catchall-route"></span>
 
 有时候,你会想要将你的 Web
 应用临时调整到维护模式,所有的请求下都会显示相同的信息页。当然,要实现这一点有很多种方法。这里面最简单快捷的方法就是在应用配置中设置下
@@ -50,7 +50,7 @@ return [
 当设置了 `catchAll` 属性时,它会替换掉所有从输入的请求中解析出来的路由。如果是上文的这种设置,用于处理所有传入请求的操作都会是相同的 `site/offline`。
 
 
-## 创建操作 <a name="creating-action"></a>
+## 创建操作 <span id="creating-action"></span>
 
 一旦请求路由被确定了,紧接着的步骤就是创建一个“操作(action)”对象,用以响应该路由。
 
diff --git a/docs/guide-zh-CN/runtime-sessions-cookies.md b/docs/guide-zh-CN/runtime-sessions-cookies.md
index 28c74dc..db00d92 100644
--- a/docs/guide-zh-CN/runtime-sessions-cookies.md
+++ b/docs/guide-zh-CN/runtime-sessions-cookies.md
@@ -6,13 +6,13 @@ Sessions 和 Cookies
 可通过面向对象方式访问它们。
 
 
-## Sessions <a name="sessions"></a>
+## Sessions <span id="sessions"></span>
 
 和 [请求](runtime-requests.md) 和 [响应](runtime-responses.md)类似,
 默认可通过为[[yii\web\Session]] 实例的`session` [应用组件](structure-application-components.md) 来访问sessions。
 
 
-### 开启和关闭 Sessions <a name="opening-closing-sessions"></a>
+### 开启和关闭 Sessions <span id="opening-closing-sessions"></span>
 
 可使用以下代码来开启和关闭session。
 
@@ -36,7 +36,7 @@ $session->destroy();
 因为方法内部会先检查session是否已经开启。
 
 
-### 访问Session数据 <a name="access-session-data"></a>
+### 访问Session数据 <span id="access-session-data"></span>
 
 To access the data stored in session, you can do the following:
 可使用如下方式访问session中的数据:
@@ -121,7 +121,7 @@ $session['captcha.lifetime'] = 3600;
 而是将每个数组项变成有相同键前缀的session变量。
 
 
-### 自定义Session存储 <a name="custom-session-storage"></a>
+### 自定义Session存储 <span id="custom-session-storage"></span>
 
 [[yii\web\Session]] 类默认存储session数据为文件到服务器上,Yii提供以下session类实现不同的session存储方式:
 
@@ -171,7 +171,7 @@ CREATE TABLE session
   例如,如果 `session.hash_function=sha256` ,应使用长度为64而不是40的char类型。
 
 
-### Flash 数据 <a name="flash-data"></a>
+### Flash 数据 <span id="flash-data"></span>
 
 Flash数据是一种特别的session数据,它一旦在某个请求中设置后,只会在下次请求中有效,然后该数据就会自动被删除。
 常用于实现只需显示给终端用户一次的信息,如用户提交一个表单后显示确认信息。
@@ -220,14 +220,14 @@ $alerts = $session->getFlash('alerts');
   取决于你调用这两个方法的顺序。
 
 
-## Cookies <a name="cookies"></a>
+## Cookies <span id="cookies"></span>
 
 Yii使用 [[yii\web\Cookie]]对象来代表每个cookie,[[yii\web\Request]] 和 [[yii\web\Response]]
 通过名为'cookies'的属性维护一个cookie集合,前者的cookie 集合代表请求提交的cookies,
 后者的cookie集合表示发送给用户的cookies。
 
 
-### 读取 Cookies <a name="reading-cookies"></a>
+### 读取 Cookies <span id="reading-cookies"></span>
 
 当前请求的cookie信息可通过如下代码获取:
 
@@ -254,7 +254,7 @@ if (isset($cookies['language'])) ...
 ```
 
 
-### 发送 Cookies <a name="sending-cookies"></a>
+### 发送 Cookies <span id="sending-cookies"></span>
 
 You can send cookies to end users using the following code:
 可使用如下代码发送cookie到终端用户:
@@ -284,7 +284,7 @@ unset($cookies['language']);
 更多详情可阅读 [httpOnly wiki article](https://www.owasp.org/index.php/HttpOnly) for more details.
 
 
-### Cookie验证 <a name="cookie-validation"></a>
+### Cookie验证 <span id="cookie-validation"></span>
 
 在上两节中,当通过`request` 和 `response` 组件读取和发送cookie时,你会喜欢扩展的cookie验证的保障安全功能,它能
 使cookie不被客户端修改。该功能通过给每个cookie签发一个哈希字符串来告知服务端cookie是否在客户端被修改,
diff --git a/docs/guide-zh-CN/start-databases.md b/docs/guide-zh-CN/start-databases.md
index 113c922..13e75a3 100644
--- a/docs/guide-zh-CN/start-databases.md
+++ b/docs/guide-zh-CN/start-databases.md
@@ -13,7 +13,7 @@
 请注意,为了掌握本章你应该具备最基本的数据库知识和使用经验。尤其是应该知道如何创建数据库,如何通过数据库终端执行 SQL 语句。
 
 
-准备数据库 <a name="preparing-database"></a>
+准备数据库 <span id="preparing-database"></span>
 --------------------
 
 首先创建一个名为 `yii2basic` 的数据库,应用将从这个数据库中读取数据。你可以创建 SQLite,MySQL,PostregSQL,MSSQL 或 Oracle 数据库,Yii 内置多种数据库支持。简单起见,后面的内容将以 MySQL 为例做演示。
@@ -41,7 +41,7 @@ INSERT INTO `country` VALUES ('US','United States',278357000);
 
 此时便有了一个名为 `yii2basic` 的数据库,在这个数据库中有一个包含三个字段的数据表 `country`,表中有十行数据。
 
-配置数据库连接 <a name="configuring-db-connection"></a>
+配置数据库连接 <span id="configuring-db-connection"></span>
 ---------------------------
 
 开始之前,请确保你已经安装了 PHP [PDO](http://www.php.net/manual/en/book.pdo.php) 扩展和你所使用的数据库的 PDO 驱动(例如 MySQL 的 `pdo_mysql`)。对于使用关系型数据库来讲,这是基本要求。
@@ -67,7 +67,7 @@ return [
 > 补充:`config/db.php` 将被包含在应用配置文件 `config/web.php` 中,后者指定了整个[应用](structure-applications.md)如何初始化。请参考[配置](concept-configurations.md)章节了解更多信息。
 
 
-创建活动记录 <a name="creating-active-record"></a>
+创建活动记录 <span id="creating-active-record"></span>
 -------------------------
 
 创建一个继承自[活动记录](db-active-record.md)类的类 `Country`,把它放在 `models/Country.php` 文件,去代表和读取 `country` 表的数据。
@@ -110,7 +110,7 @@ $country->save();
 > 补充:活动记录是面向对象、功能强大的访问和操作数据库数据的方式。你可以在[活动记录](db-active-record.md)章节了解更多信息。除此之外你还可以使用另一种更原生的被称做[数据访问对象](db-dao)的方法操作数据库数据。
 
 
-创建操作 <a name="creating-action"></a>
+创建操作 <span id="creating-action"></span>
 ------------------
 
 为了向最终用户显示国家数据,你需要创建一个操作。相比之前小节掌握的在 `site` 控制器中创建操作,在这里为所有和国家有关的数据新建一个控制器更加合理。新控制器名为 `CountryController`,并在其中创建一个 `index` 操作,如下:
@@ -158,7 +158,7 @@ class CountryController extends Controller
 在代码末尾,`index` 操作渲染一个名为 `index` 的视图,并传递国家数据和分页信息进去。
 
 
-创建视图 <a name="creating-view"></a>
+创建视图 <span id="creating-view"></span>
 ---------------
 
 在 `views` 目录下先创建一个名为 `country` 的子目录。这个目录存储所有由 `country` 控制器渲染的视图。在 `views/country` 目录下创建一个名为 `index.php` 的视图文件,内容如下:
@@ -184,7 +184,7 @@ use yii\widgets\LinkPager;
 这个视图包含两部分用以显示国家数据。第一部分遍历国家数据并以无序 HTML 列表渲染出来。第二部分使用 [[yii\widgets\LinkPager]] 去渲染从操作中传来的分页信息。小部件 `LinkPager` 显示一个分页按钮的列表。点击任何一个按钮都会跳转到对应的分页。
 
 
-试运行 <a name="trying-it-out"></a>
+试运行 <span id="trying-it-out"></span>
 -------------
 
 浏览器访问下面的 URL 看看能否工作:
@@ -207,7 +207,7 @@ http://hostname/index.php?r=country/index&page=2
 * 然后小部件 [[yii\widgets\LinkPager|LinkPager]] 使用 [[yii\data\Pagination::createUrl()|Pagination::createUrl()]] 方法生成的 URL 去渲染翻页按钮。URL 中包含必要的参数 `page` 才能查询不同的页面编号。
 * 如果你点击按钮 “2”,将会发起一个路由为 `country/index` 的新请求。[[yii\data\Pagination|Pagination]] 接收到 URL 中的 `page` 参数把当前的页码设为 2。新的数据库请求将会以 `LIMIT 5 OFFSET 5` 查询并显示。
 
-总结 <a name="summary"></a>
+总结 <span id="summary"></span>
 -------
 
 本章节中你学到了如何使用数据库。你还学到了如何取出并使用 [[yii\data\Pagination]] 和 [[yii\widgets\LinkPager]] 显示数据。
diff --git a/docs/guide-zh-CN/start-forms.md b/docs/guide-zh-CN/start-forms.md
index 26b7509..ffc2a1d 100644
--- a/docs/guide-zh-CN/start-forms.md
+++ b/docs/guide-zh-CN/start-forms.md
@@ -12,7 +12,7 @@
 * 在[视图](structure-views.md)中生成一个 HTML 表单
 
 
-创建模型 <a name="creating-model"></a>
+创建模型 <span id="creating-model"></span>
 ----------------
 
 模型类 `EntryForm` 代表从用户那请求的数据,该类如下所示并存储在 `models/EntryForm.php` 文件中。请参考[类自动加载](concept-autoloading.md)章节获取更多关于类命名约定的介绍。
@@ -64,7 +64,7 @@ if ($model->validate()) {
 ```
 
 
-创建操作 <a name="creating-action"></a>
+创建操作 <span id="creating-action"></span>
 ------------------
 
 下面你得在 `site` 控制器中创建一个 `entry` 操作用于新建的模型。操作的创建和使用已经在[说一声你好](start-hello.md)小节中解释了。
@@ -109,7 +109,7 @@ class SiteController extends Controller
 > 注意:在这个简单例子里我们只是呈现了有效数据的确认页面。实践中你应该考虑使用 [[yii\web\Controller::refresh()|refresh()]] 或 [[yii\web\Controller::redirect()|redirect()]] 去避免[表单重复提交问题](http://en.wikipedia.org/wiki/Post/Redirect/Get)。
 
 
-创建视图 <a name="creating-views"></a>
+创建视图 <span id="creating-views"></span>
 --------------
 
 最后创建两个视图文件 `entry-confirm` 和 `entry`。他们会被刚才创建的 `entry` 操作渲染。
@@ -151,7 +151,7 @@ use yii\widgets\ActiveForm;
 视图使用了一个功能强大的[小部件](structure-widgets.md) [[yii\widgets\ActiveForm|ActiveForm]] 去生成 HTML 表单。其中的 `begin()` 和 `end()` 分别用来渲染表单的开始和关闭标签。在这两个方法之间使用了 [[yii\widgets\ActiveForm::field()|field()]] 方法去创建输入框。第一个输入框用于 “name”,第二个输入框用于 “email”。之后使用 [[yii\helpers\Html::submitButton()]] 方法生成提交按钮。
 
 
-尝试下 <a name="trying-it-out"></a>
+尝试下 <span id="trying-it-out"></span>
 -------------
 
 用浏览器访问下面的 URL 看它能否工作:
@@ -170,7 +170,7 @@ http://hostname/index.php?r=site/entry
 
 
 
-### 效果说明 <a name="magic-explained"></a>
+### 效果说明 <span id="magic-explained"></span>
 
 你可能会好奇 HTML 表单暗地里是如何工作的呢,看起来它可以为每个输入框显示文字标签,而当你没输入正确的信息时又不需要刷新页面就能给出错误提示,似乎有些神奇。
 
@@ -190,7 +190,7 @@ http://hostname/index.php?r=site/entry
 > 补充:Yii 提供了相当多类似的小部件去帮你生成复杂且动态的视图。在后面你还会了解到自己写小部件是多么简单。你可能会把自己的很多视图代码转化成小部件以提高重用,加快开发效率。
 
 
-总结 <a name="summary"></a>
+总结 <span id="summary"></span>
 -------
 
 本章节指南中你接触了 MVC 设计模式的每个部分。学到了如何创建一个模型代表用户数据并验证它的有效性。
diff --git a/docs/guide-zh-CN/start-gii.md b/docs/guide-zh-CN/start-gii.md
index fb2397e..ae59115 100644
--- a/docs/guide-zh-CN/start-gii.md
+++ b/docs/guide-zh-CN/start-gii.md
@@ -11,7 +11,7 @@
 * 自定义 Gii 生成的代码
 
 
-开始 Gii <a name="starting-gii"></a>
+开始 Gii <span id="starting-gii"></span>
 ------------
 
 [Gii](tool-gii.md) 是 Yii 中的一个[模块](structure-modules.md)。可以通过配置应用的 [[yii\base\Application::modules|modules]] 属性开启它。通常来讲在 `config/web.php` 文件中会有以下配置代码:
@@ -51,7 +51,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-生成活动记录类 <a name="generating-ar"></a>
+生成活动记录类 <span id="generating-ar"></span>
 ---------------------------------
 
 选择 “Model Generator” (点击 Gii 首页的链接)去生成活动记录类。并像这样填写表单:
@@ -72,7 +72,7 @@ http://hostname/index.php?r=gii
 接下来你会看到一个包含已生成文件的说明页面。如果生成过程中覆写过文件,还会有一条信息说明代码是重新生成覆盖的。
 
 
-生成 CRUD 代码 <a name="generating-crud"></a>
+生成 CRUD 代码 <span id="generating-crud"></span>
 --------------------
 
 CRUD 代表增,查,改,删操作,这是绝大多数 Web 站点常用的数据处理方式。选择 Gii 中的 “CRUD Generator” (点击 Gii 首页的链接)去创建 CRUD 功能。本例 “country” 中需要这样填写表单:
@@ -90,7 +90,7 @@ CRUD 代表增,查,改,删操作,这是绝大多数 Web 站点常用的�
 如果你之前创建过 `controllers/CountryController.php` 和 `views/country/index.php` 文件(在指南的使用数据库章节),选中 “overwrite” 下的复选框覆写它们(之前的文件没能全部支持 CRUD)。
 
 
-试运行 <a name="trying-it-out"></a>
+试运行 <span id="trying-it-out"></span>
 -------------
 
 用浏览器访问下面的 URL 查看生成代码的运行:
@@ -116,7 +116,7 @@ http://hostname/index.php?r=country/index
 > 补充:Gii 被设计成高度可定制和可扩展的代码生成工具。使用它可以大幅提高应用开发速度。请参考 [Gii](tool-gii.md) 章节了解更多内容。
 
 
-总结 <a name="summary"></a>
+总结 <span id="summary"></span>
 -------
 
 本章学习了如何使用 Gii 去生成为数据表中数据实现完整 CRUD 功能的代码。
diff --git a/docs/guide-zh-CN/start-hello.md b/docs/guide-zh-CN/start-hello.md
index 59c2519..6264248 100644
--- a/docs/guide-zh-CN/start-hello.md
+++ b/docs/guide-zh-CN/start-hello.md
@@ -13,7 +13,7 @@
 3. 以及一个应用如何分派请求给[操作](structure-controllers.md#creating-actions)。
 
 
-创建操作 <a name="creating-action"></a>
+创建操作 <span id="creating-action"></span>
 ------------------
 
 为了 “Hello”,需要创建一个 `say` [操作](structure-controllers.md#creating-actions),从请求中接收 `message` 参数并显示给最终用户。如果请求没有提供 `message` 参数,操作将显示默认参数 “Hello”。
@@ -49,7 +49,7 @@ class SiteController extends Controller
 在操作方法中,[[yii\web\Controller::render()|render()]] 被用来渲染一个名为 `say` 的[视图](structure-views.md)文件。 `message` 参数也被传入视图,这样就可以在里面使用。操作方法会返回渲染结果。结果会被应用接收并显示给最终用户的浏览器(作为整页 HTML 的一部分)。
 
 
-创建视图 <a name="creating-view"></a>
+创建视图 <span id="creating-view"></span>
 ---------------
 
 [视图](structure-views.md)是你用来生成响应内容的脚本。为了说 “Hello”,你需要创建一个 `say` 视图,以便显示从操作方法中传来的 `message` 参数。
@@ -68,7 +68,7 @@ use yii\helpers\Html;
 当然了,你大概会在 `say` 视图里放入更多内容。内容可以由 HTML 标签,纯文本,甚至 PHP 语句组成。实际上 `say` 视图就是一个由 [[yii\web\Controller::render()|render()]] 执行的 PHP 脚本。视图脚本输出的内容将会作为响应结果返回给应用。应用将依次输出结果给最终用户。
 
 
-试运行 <a name="trying-it-out"></a>
+试运行 <span id="trying-it-out"></span>
 -------------
 
 创建完操作和视图后,你就可以通过下面的 URL 访问新页面了:
@@ -90,7 +90,7 @@ http://hostname/index.php?r=site/say&message=Hello+World
 > 补充:与操作一样,一个应用中控制器同样有唯一的 ID。控制器 ID 和操作 ID 使用同样的命名规则。控制器的类名源自于控制器 ID,移除了连字符,每个单词首字母大写,并加上 `Controller` 后缀。例子:控制器 ID `post-comment` 相当于控制器类名 `PostCommentController`。
 
 
-总结 <a name="summary"></a>
+总结 <span id="summary"></span>
 -------
 
 通过本章节你接触了 MVC 设计模式中的控制器和视图部分。创建了一个操作作为控制器的一部分去处理特定请求。然后又创建了一个视图去构造响应内容。在这个小例子中,没有模型调用,唯一涉及到数据的地方是 `message` 参数。
diff --git a/docs/guide-zh-CN/start-installation.md b/docs/guide-zh-CN/start-installation.md
index c36345f..7f8577a 100644
--- a/docs/guide-zh-CN/start-installation.md
+++ b/docs/guide-zh-CN/start-installation.md
@@ -6,7 +6,7 @@
 > 注意:和 Yii 1 不同,以标准方式安装 Yii 2 时会同时下载并安装框架本身和一个应用程序的基本骨架。
 
 
-通过 Composer 安装 <a name="installing-via-composer"></a>
+通过 Composer 安装 <span id="installing-via-composer"></span>
 -----------------------
 
 如果还没有安装 Composer,你可以按 [getcomposer.org](https://getcomposer.org/download/) 中的方法安装。在 Linux 和 Mac OS X 中可以运行如下命令:
@@ -42,7 +42,7 @@ Composer 安装后,切换到一个可通过 Web 访问的目录,执行如下
 > 注意,Yii 的开发版(dev 版)不应该用于生产环境中,它可能会破坏运行中的代码。
 
 
-通过归档文件安装 <a name="installing-from-archive-file"></a>
+通过归档文件安装 <span id="installing-from-archive-file"></span>
 -------------------------------
 
 通过归档文件安装 Yii 包括三个步骤:
@@ -57,7 +57,7 @@ Composer 安装后,切换到一个可通过 Web 访问的目录,执行如下
    ```
 
 
-其他安装方式 <a name="other-installation-options"></a>
+其他安装方式 <span id="other-installation-options"></span>
 --------------------------
 
 上文介绍了两种安装 Yii 的方法,安装的同时也会创建一个立即可用的 Web 应用程序。对于小的项目或用于学习上手,这都是一个不错的起点。
@@ -68,7 +68,7 @@ Composer 安装后,切换到一个可通过 Web 访问的目录,执行如下
 * 如果你要开发一个更复杂的应用,可以更好地适用于团队开发环境的,可以考虑安装[高级应用模版](tutorial-advanced-app.md)。
 
 
-验证安装的结果 <a name="verifying-installation"></a>
+验证安装的结果 <span id="verifying-installation"></span>
 --------------------------
 
 安装完成后,就可以使用浏览器通过如下 URL 访问刚安装完的 Yii 应用了:
@@ -94,7 +94,7 @@ http://localhost/basic/web/index.php
 你需要配置好 PHP 安装环境,使其符合 Yii 的最小需求。主要是需要 PHP 5.4 以上版本。如果应用需要用到数据库,那还要安装 [PDO PHP 扩展](http://www.php.net/manual/zh/pdo.installation.php) 和相应的数据库驱动(例如访问 MySQL 数据库所需的 `pdo_mysql`)。
 
 
-配置 Web 服务器 <a name="configuring-web-servers"></a>
+配置 Web 服务器 <span id="configuring-web-servers"></span>
 -----------------------
 
 >补充:如果你现在只是要试用 Yii 而不是将其部署到生产环境中,本小节可以跳过。
@@ -108,7 +108,7 @@ http://localhost/basic/web/index.php
 >补充:如果你的应用程序将来要运行在共享虚拟主机环境中,没有修改其 Web 服务器配置的权限,你依然可以通过调整应用的结构来提升安全性。详情请参考[共享主机环境](tutorial-shared-hosting.md) 一章。
 
 
-### 推荐使用的 Apache 配置 <a name="recommended-apache-configuration"></a>
+### 推荐使用的 Apache 配置 <span id="recommended-apache-configuration"></span>
 
 在 Apache 的 `httpd.conf` 文件或在一个虚拟主机配置文件中使用如下配置。注意,你应该将 `path/to/basic/web` 替换为实际的 `basic/web` 目录。
 
@@ -130,7 +130,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### 推荐使用的 Nginx 配置 <a name="recommended-nginx-configuration"></a>
+### 推荐使用的 Nginx 配置 <span id="recommended-nginx-configuration"></span>
 
 为了使用 [Nginx](http://wiki.nginx.org/),你应该已经将 PHP 安装为 [FPM SAPI](http://php.net/install.fpm) 了。使用如下 Nginx 配置,将 `path/to/basic/web` 替换为实际的 `basic/web` 目录,`mysite.local` 替换为实际的主机名以提供服务。
 
diff --git a/docs/guide-zh-CN/start-workflow.md b/docs/guide-zh-CN/start-workflow.md
index a085769..b27c0a3 100644
--- a/docs/guide-zh-CN/start-workflow.md
+++ b/docs/guide-zh-CN/start-workflow.md
@@ -5,7 +5,7 @@
 
 > 补充:为简单起见,在整个“入门”板块都假定你已经把 `basic/web` 设为 Web 服务器根目录并配置完毕,你访问应用的地址会是 `http://lostname/index.php` 或类似的。请按需调整 URL。
 
-功能 <a name="functionality"></a>
+功能 <span id="functionality"></span>
 -------------
 
 一个安装完的基本应用包含四页:
@@ -20,7 +20,7 @@
 在浏览器底部可以看到一个工具栏。这是 Yii 提供的很有用的[调试工具](tool-debugger.md),可以记录并显示大量的调试信息,例如日志信息,响应状态,数据库查询等等。
 
 
-应用结构 <a name="application-structure"></a>
+应用结构 <span id="application-structure"></span>
 ---------------------
 
 应用中最重要的目录和文件(假设应用根目录是 `basic`):
@@ -54,7 +54,7 @@ Yii 实现了[模型-视图-控制器 (MVC)](http://wikipedia.org/wiki/Model-vie
 每个应用都有一个入口脚本 `web/index.php`,这是整个应用中唯一可以访问的 PHP 脚本。入口脚本接受一个 Web 请求并创建[应用](structure-application.md)实例去处理它。 [应用](structure-applications.md)在它的[组建](concept-components.md)辅助下解析请求,并分派请求至 MVC 元素。[视图](structure-views.md)使用[小部件](structure-widgets.md)去创建复杂和动态的用户界面。
 
 
-请求生命周期 <a name="request-lifecycle"></a>
+请求生命周期 <span id="request-lifecycle"></span>
 -----------------
 
 以下图表展示了一个应用如何处理请求:
diff --git a/docs/guide-zh-CN/structure-application-components.md b/docs/guide-zh-CN/structure-application-components.md
index e5142fa..211c545 100644
--- a/docs/guide-zh-CN/structure-application-components.md
+++ b/docs/guide-zh-CN/structure-application-components.md
@@ -44,7 +44,7 @@
   一般情况下可以在需要时再创建本地组件。
 
 
-## 引导启动组件 <a name="bootstrapping-components"></a>
+## 引导启动组件 <span id="bootstrapping-components"></span>
 
 上面提到一个应用组件只会在第一次访问时实例化,如果处理请求过程没有访问的话就不实例化。
 有时你想在每个请求处理过程都实例化某个组件即便它不会被访问,
@@ -67,7 +67,7 @@
 ```
 
 
-## 核心应用组件 <a name="core-application-components"></a>
+## 核心应用组件 <span id="core-application-components"></span>
 
 Yii 定义了一组固定ID和默认配置的 *核心* 组件,例如 [[yii\web\Application::request|request]] 组件
 用来收集用户请求并解析 [路由](runtime-routing.md);
diff --git a/docs/guide-zh-CN/structure-applications.md b/docs/guide-zh-CN/structure-applications.md
index 9577af1..dba262b 100644
--- a/docs/guide-zh-CN/structure-applications.md
+++ b/docs/guide-zh-CN/structure-applications.md
@@ -10,7 +10,7 @@ Yii有两种应用主体: [[yii\web\Application|网页应用主体]] and
 [[yii\console\Application|控制台应用主体]], 如名称所示,前者主要处理网页请求,后者处理控制台请求。
 
 
-## 应用主体配置 <a name="application-configurations"></a>
+## 应用主体配置 <span id="application-configurations"></span>
 
 如下所示,当 [入口脚本](structure-entry-scripts.md) 创建了一个应用主体,它会加载一个 [配置](concept-configurations.md) 文件并传给应用主体。
 
@@ -28,24 +28,24 @@ $config = require(__DIR__ . '/../config/web.php');
 类似其他 [配置](concept-configurations.md) 文件, 应用主体配置文件标明如何设置应用对象初始属性。
 由于应用主体配置比较复杂,一般保存在多个类似如上web.php的 [配置文件](concept-configurations.md#configuration-files) 当中。
 
-## 应用主体属性 <a name="application-properties"></a>
+## 应用主体属性 <span id="application-properties"></span>
 
 应用主体配置文件中有许多重要的属性要配置,这些属性指定应用主体的运行环境。
 比如,应用主体需要知道如何加载 [控制器](structure-controllers.md) ,临时文件保存到哪儿等等。
 以下我们简述这些属性。
 
-### 必要属性 <a name="required-properties"></a>
+### 必要属性 <span id="required-properties"></span>
 
 在一个应用中,至少要配置2个属性: [[yii\base\Application::id|id]] 和 [[yii\base\Application::basePath|basePath]]。
 
 
-#### [[yii\base\Application::id|id]] <a name="id"></a>
+#### [[yii\base\Application::id|id]] <span id="id"></span>
 
 [[yii\base\Application::id|id]] 属性用来区分其他应用的唯一标识ID。主要给程序使用。
 为了方便协作,最好使用数字作为应用主体ID,但不强制要求为数字。
 
 
-#### [[yii\base\Application::basePath|basePath]] <a name="basePath"></a>
+#### [[yii\base\Application::basePath|basePath]] <span id="basePath"></span>
 
 
 [[yii\base\Application::basePath|basePath]] 指定该应用的根目录。根目录包含应用系统所有受保护的源代码。
@@ -58,12 +58,12 @@ $config = require(__DIR__ . '/../config/web.php');
 派生路径可以通过这个别名组成(如`@app/runtime`代表runtime的路径)。
 
 
-### 重要属性 <a name="important-properties"></a>
+### 重要属性 <span id="important-properties"></span>
 
 本小节所描述的属性通常需要设置,因为不同的应用属性不同。
 
 
-#### [[yii\base\Application::aliases|aliases]] <a name="aliases"></a>
+#### [[yii\base\Application::aliases|aliases]] <span id="aliases"></span>
 
 该属性允许你用一个数组定义多个 [别名](concept-aliases.md)。数组的key为别名名称,值为对应的路径。例如:
 
@@ -79,7 +79,7 @@ $config = require(__DIR__ . '/../config/web.php');
 使用这个属性来定义别名,代替 [[Yii::setAlias()]] 方法来设置。
 
 
-#### [[yii\base\Application::bootstrap|bootstrap]] <a name="bootstrap"></a>
+#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
 
 这个属性很实用,它允许你用数组指定启动阶段[[yii\base\Application::bootstrap()|bootstrapping process]]需要运行的组件。
 比如,如果你希望一个 [模块](structure-modules.md) 自定义 [URL 规则](runtime-url-handling.md),你可以将模块ID加入到bootstrap数组中。
@@ -146,7 +146,7 @@ if (YII_ENV_DEV) {
 > 注: 启动太多的组件会降低系统性能,因为每次请求都需要重新运行启动组件,因此谨慎配置启动组件。
 
 
-#### [[yii\web\Application::catchAll|catchAll]] <a name="catchAll"></a>
+#### [[yii\web\Application::catchAll|catchAll]] <span id="catchAll"></span>
 
 该属性仅 [[yii\web\Application|Web applications]] 网页应用支持。
 它指定一个要处理所有用户请求的 [控制器方法](structure-controllers.md),通常在维护模式下使用,同一个方法处理所有用户请求。
@@ -164,7 +164,7 @@ if (YII_ENV_DEV) {
 ```
 
 
-#### [[yii\base\Application::components|components]] <a name="components"></a>
+#### [[yii\base\Application::components|components]] <span id="components"></span>
 
 这是最重要的属性,它允许你注册多个在其他地方使用的[应用组件](#structure-application-components.md). 例如
 
@@ -189,7 +189,7 @@ if (YII_ENV_DEV) {
 详情请阅读 [应用组件](structure-application-components.md) 一节.
 
 
-#### [[yii\base\Application::controllerMap|controllerMap]] <a name="controllerMap"></a>
+#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
 
 该属性允许你指定一个控制器ID到任意控制器类。Yii遵循一个默认的 [规则](#controllerNamespace)指定控制器ID到任意控制器类(如`post`对应`app\controllers\PostController`)。
 通过配置这个属性,可以打破这个默认规则,在下面的例子中,`account`对应到`app\controllers\UserController`,
@@ -212,7 +212,7 @@ if (YII_ENV_DEV) {
 数组的键代表控制器ID,数组的值代表对应的类名。
 
 
-#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <a name="controllerNamespace"></a>
+#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <span id="controllerNamespace"></span>
 
 该属性指定控制器类默认的命名空间,默认为`app\controllers`。比如控制器ID为 `post` 默认对应 `PostController` (不带命名空间),
 类全名为 `app\controllers\PostController`。
@@ -226,7 +226,7 @@ if (YII_ENV_DEV) {
 如果你想打破上述的规则,可以配置 [controllerMap](#controllerMap) 属性。
 
 
-#### [[yii\base\Application::language|language]] <a name="language"></a>
+#### [[yii\base\Application::language|language]] <span id="language"></span>
 
 该属性指定应用展示给终端用户的语言,默认为 `en` 标识英文。如果需要之前其他语言可以配置该属性。
 
@@ -238,7 +238,7 @@ if (YII_ENV_DEV) {
 该属性的更多信息可参考 [国际化](tutorial-i18n.md) 一节.
 
 
-#### [[yii\base\Application::modules|modules]] <a name="modules"></a>
+#### [[yii\base\Application::modules|modules]] <span id="modules"></span>
 
 该属性指定应用所包含的 [模块](structure-modules.md)。
 
@@ -262,7 +262,7 @@ if (YII_ENV_DEV) {
 更多详情请参考 [模块](structure-modules.md) 一节。
 
 
-#### [[yii\base\Application::name|name]] <a name="name"></a>
+#### [[yii\base\Application::name|name]] <span id="name"></span>
 
 该属性指定你可能想展示给终端用户的应用名称,不同于需要唯一性的 [[yii\base\Application::id|id]] 属性,
 该属性可以不唯一,该属性用于显示应用的用途。
@@ -270,7 +270,7 @@ if (YII_ENV_DEV) {
 如果其他地方的代码没有用到,可以不配置该属性。
 
 
-#### [[yii\base\Application::params|params]] <a name="params"></a>
+#### [[yii\base\Application::params|params]] <span id="params"></span>
 
 该属性为一个数组,指定可以全局访问的参数,代替程序中硬编码的数字和字符,应用中的参数定义到一个单独的文件并随时可以访问是一个好习惯。
 例如用参数定义缩略图的长宽如下:
@@ -293,7 +293,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 以后想修改缩略图长宽,只需要修改该参数而不需要相关的代码。
 
 
-#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <a name="sourceLanguage"></a>
+#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <span id="sourceLanguage"></span>
 
 该属性指定应用代码的语言,默认为 `'en-US'` 标识英文(美国),如果应用不是英文请修改该属性。
 
@@ -303,7 +303,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 该属性的更多信息可参考 [国际化](tutorial-i18n.md) 一节.
 
 
-#### [[yii\base\Application::timeZone|timeZone]] <a name="timeZone"></a>
+#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
 
 该属性提供一种方式修改PHP运行环境中的默认时区,配置该属性本质上就是调用PHP函数
 [date_default_timezone_set()](http://php.net/manual/en/function.date-default-timezone-set.php),例如:
@@ -315,22 +315,22 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 ```
 
 
-#### [[yii\base\Application::version|version]] <a name="version"></a>
+#### [[yii\base\Application::version|version]] <span id="version"></span>
 
 该属性指定应用的版本,默认为`'1.0'`,其他代码不使用的话可以不配置。
 
 
-### 实用属性 <a name="useful-properties"></a>
+### 实用属性 <span id="useful-properties"></span>
 
 本小节描述的属性不经常设置,通常使用系统默认值。如果你想改变默认值,可以配置这些属性。
 
 
-#### [[yii\base\Application::charset|charset]] <a name="charset"></a>
+#### [[yii\base\Application::charset|charset]] <span id="charset"></span>
 
 该属性指定应用使用的字符集,默认值为 `'UTF-8'`,绝大部分应用都在使用,除非已有的系统大量使用非unicode数据才需要更改该属性。
 
 
-#### [[yii\base\Application::defaultRoute|defaultRoute]] <a name="defaultRoute"></a>
+#### [[yii\base\Application::defaultRoute|defaultRoute]] <span id="defaultRoute"></span>
 
 该属性指定未配置的请求的响应 [路由](runtime-routing.md) 规则,路由规则可能包含模块ID,控制器ID,动作ID。
 例如`help`, `post/create`, `admin/post/create`,如果动作ID没有指定,会使用[[yii\base\Controller::defaultAction]]中指定的默认值。
@@ -343,7 +343,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 因此,如果执行的命令不带参数,默认会显示帮助信息。
 
 
-#### [[yii\base\Application::extensions|extensions]] <a name="extensions"></a>
+#### [[yii\base\Application::extensions|extensions]] <span id="extensions"></span>
 
 该属性用数组列表指定应用安装和使用的 [扩展](structure-extensions.md),默认使用`@vendor/yiisoft/extensions.php`文件返回的数组。
 当你使用 [Composer](http://getcomposer.org) 安装扩展,`extensions.php` 会被自动生成和维护更新。
@@ -375,7 +375,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 扩展也可以定义 [别名](concept-aliases.md)
 
 
-#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
+#### [[yii\base\Application::layout|layout]] <span id="layout"></span>
 
 该属性指定渲染 [视图](structure-views.md) 默认使用的布局名字,默认值为 `'main'` 对应[布局路径](#layoutPath)下的 `main.php` 文件,
 如果 [布局路径](#layoutPath) 和 [视图路径](#viewPath) 都是默认值,默认布局文件可以使用路径别名`@app/views/layouts/main.php`
@@ -383,7 +383,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 如果不想设置默认布局文件,可以设置该属性为 `false`,这种做法比较罕见。
 
 
-#### [[yii\base\Application::layoutPath|layoutPath]] <a name="layoutPath"></a>
+#### [[yii\base\Application::layoutPath|layoutPath]] <span id="layoutPath"></span>
 
 该属性指定查找布局文件的路径,默认值为 [视图路径](#viewPath) 下的 `layouts` 子目录。
 如果 [视图路径](#viewPath) 使用默认值,默认的布局路径别名为`@app/views/layouts`。
@@ -391,7 +391,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 该属性需要配置成一个目录或 路径 [别名](concept-aliases.md)。
 
 
-#### [[yii\base\Application::runtimePath|runtimePath]] <a name="runtimePath"></a>
+#### [[yii\base\Application::runtimePath|runtimePath]] <span id="runtimePath"></span>
 
 该属性指定临时文件如日志文件、缓存文件等保存路径,默认值为带别名的 `@app/runtime`。
 
@@ -401,12 +401,12 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 为了简化访问该路径,Yii预定义别名 `@runtime` 代表该路径。
 
 
-#### [[yii\base\Application::viewPath|viewPath]] <a name="viewPath"></a>
+#### [[yii\base\Application::viewPath|viewPath]] <span id="viewPath"></span>
 
 该路径指定视图文件的根目录,默认值为带别名的 `@app/views`,可以配置它为一个目录或者路径 [别名](concept-aliases.md).
 
 
-#### [[yii\base\Application::vendorPath|vendorPath]] <a name="vendorPath"></a>
+#### [[yii\base\Application::vendorPath|vendorPath]] <span id="vendorPath"></span>
 
 该属性指定 [Composer](http://getcomposer.org) 管理的供应商路径,该路径包含应用使用的包括Yii框架在内的所有第三方库。
 默认值为带别名的 `@app/vendor` 。
@@ -416,12 +416,12 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 为了简化访问该路径,Yii预定义别名 `@vendor` 代表该路径。
 
 
-#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <a name="enableCoreCommands"></a>
+#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <span id="enableCoreCommands"></span>
 
 该属性仅 [[yii\console\Application|console applications]] 控制台应用支持, 用来指定是否启用Yii中的核心命令,默认值为 `true`。
 
 
-## 应用事件 <a name="application-events"></a>
+## 应用事件 <span id="application-events"></span>
 
 应用在处理请求过程中会触发事件,可以在配置文件配置事件处理代码,如下所示:
 
@@ -443,7 +443,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 });
 ```
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <a name="beforeRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <span id="beforeRequest"></span>
 
 该事件在应用处理请求*before*之前,实际的事件名为 `beforeRequest`。
 
@@ -451,7 +451,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 例如在事件处理中根据某些参数动态设置[[yii\base\Application::language]]语言属性。
 
 
-### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <a name="afterRequest"></a>
+### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <span id="afterRequest"></span>
 
 该事件在应用处理请求*after*之后但在返回响应*before*之前触发,实际的事件名为`afterRequest`。
 
@@ -460,7 +460,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 注意 [[yii\web\Response|response]] 组件在发送响应给终端用户时也会触发一些事件,这些事件都在本事件*after*之后触发。
 
 
-### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <a name="beforeAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <span id="beforeAction"></span>
 
 该事件在每个 [控制器动作](structure-controllers.md) 运行*before*之前会被触发,实际的事件名为 `beforeAction`.
 
@@ -483,7 +483,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 任何一个事件处理中设置 [[yii\base\ActionEvent::isValid]] 设置为 `false` 会停止触发后面的事件。
 
 
-### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <a name="afterAction"></a>
+### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <span id="afterAction"></span>
 
 该事件在每个 [控制器动作](structure-controllers.md) 运行*after*之后会被触发,实际的事件名为 `afterAction`.
 
@@ -505,7 +505,7 @@ $width = \Yii::$app->params['thumbnail.size'][0];
 这些对象的触发顺序和 `beforeAction` 相反,也就是说,控制器最先触发,然后是模块(如果有模块),最后为应用主体。
 
 
-## 应用主体生命周期 <a name="application-lifecycle"></a>
+## 应用主体生命周期 <span id="application-lifecycle"></span>
 
 当运行 [入口脚本](structure-entry-scripts.md) 处理请求时,应用主体会经历以下生命周期:
 
diff --git a/docs/guide-zh-CN/structure-assets.md b/docs/guide-zh-CN/structure-assets.md
index 431d65a..176324e 100644
--- a/docs/guide-zh-CN/structure-assets.md
+++ b/docs/guide-zh-CN/structure-assets.md
@@ -9,13 +9,13 @@ Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文�
 当你升级小部件时,它会自动使用新版本的资源文件,在本教程中,我们会详述Yii提供的强大的资源管理功能。
 
 
-## 资源包 <a name="asset-bundles"></a>
+## 资源包 <span id="asset-bundles"></span>
 
 Yii在*资源包*中管理资源,资源包简单的说就是放在一个目录下的资源集合,
 当在[视图](structure-views.md)中注册一个资源包,在渲染Web页面时会包含包中的CSS和JavaScript文件。
 
 
-## 定义资源包 <a name="defining-asset-bundles"></a>
+## 定义资源包 <span id="defining-asset-bundles"></span>
 
 资源包指定为继承[[yii\web\AssetBundle]]的PHP类,包名为可[自动加载](concept-autoloading.md)的PHP类名,
 在资源包类中,要指定资源所在位置,包含哪些CSS和JavaScript文件以及和其他包的依赖关系。
@@ -79,7 +79,7 @@ class AppAsset extends AssetBundle
   指定传递到该方法的选项,仅在指定了[[yii\web\AssetBundle::sourcePath|sourcePath]]属性时使用。
 
 
-### 资源位置 <a name="asset-locations"></a>
+### 资源位置 <span id="asset-locations"></span>
 
 资源根据它们的位置可以分为:
 
@@ -103,7 +103,7 @@ class AppAsset extends AssetBundle
   可能会被删除。
 
 
-### 资源依赖 <a name="asset-dependencies"></a>
+### 资源依赖 <span id="asset-dependencies"></span>
 
 当Web页面包含多个CSS或JavaScript文件时,它们有一定的先后顺序以避免属性覆盖,
 例如,Web页面在使用jQuery UI小部件前必须确保jQuery JavaScript文件已经被包含了,
@@ -116,7 +116,7 @@ class AppAsset extends AssetBundle
 资源依赖关系是可传递,也就是人说A依赖B,B依赖C,那么A也依赖C。
 
 
-### 资源选项 <a name="asset-options"></a>
+### 资源选项 <span id="asset-options"></span>
 
 可指定[[yii\web\AssetBundle::cssOptions|cssOptions]] 和 [[yii\web\AssetBundle::jsOptions|jsOptions]]
 属性来自定义页面包含CSS和JavaScript文件的方式,
@@ -153,7 +153,7 @@ public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
 ```
 
 
-### Bower 和 NPM 资源 <a name="bower-npm-assets"></a>
+### Bower 和 NPM 资源 <span id="bower-npm-assets"></span>
 
 大多数 JavaScript/CSS 包通过[Bower](http://bower.io/) 和/或 [NPM](https://www.npmjs.org/)管理,
 如果你的应用或扩展使用这些包,推荐你遵循以下步骤来管理库中的资源:
@@ -168,7 +168,7 @@ public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
   [[yii\web\AssetBundle::sourcePath|sourcePath]]属性值,例如,[[yii\web\JqueryAsset]]使用 `@bower/jquery/dist` 而不是 `@bower/jquery`。
 
 
-## 使用资源包 <a name="using-asset-bundles"></a>
+## 使用资源包 <span id="using-asset-bundles"></span>
 
 为使用资源包,在[视图](structure-views.md)中调用[[yii\web\AssetBundle::register()]]方法先注册资源,
 例如,在视图模板可使用如下代码注册资源包:
@@ -186,7 +186,7 @@ AppAsset::register($this);  // $this 代表视图对象
 这些标签的先后顺序取决于资源包的依赖关系以及在 [[yii\web\AssetBundle::css]]和[[yii\web\AssetBundle::js]] 的列出来的前后顺序。
 
 
-### 自定义资源包 <a name="customizing-asset-bundles"></a>
+### 自定义资源包 <span id="customizing-asset-bundles"></span>
 
 Yii通过名为 `assetManager`的应用组件实现[[yii\web\AssetManager] 来管理应用组件,
 通过配置[[yii\web\AssetManager::bundles]] 属性,可以自定义资源包的行为,
@@ -243,7 +243,7 @@ return [
 可设置[[yii\web\AssetManager::bundles]]为`false`禁用 *所有* 的资源包。
 
 
-### 资源部署 <a name="asset-mapping"></a>
+### 资源部署 <span id="asset-mapping"></span>
 
 有时你想"修复" 多个资源包中资源文件的错误/不兼容,例如包A使用1.11.1版本的`jquery.min.js`,
 包B使用2.1.1版本的`jquery.js`,可自定义每个包来解决这个问题,更好的方式是使用*资源部署*特性来部署不正确的资源为想要的,
@@ -270,7 +270,7 @@ return [
 > 注意: 只有相对相对路径指定的资源对应到资源部署,替换的资源路径可以为绝对路径,也可为和[[yii\web\AssetManager::basePath]]相关的路径。
 
 
-### 资源发布 <a name="asset-publishing"></a>
+### 资源发布 <span id="asset-publishing"></span>
 
 如前所述,如果资源包放在Web不能访问的目录,当视图注册资源时资源会被拷贝到一个Web可访问的目录中,
 这个过程称为*资源发布*,[[yii\web\AssetManager|asset manager]]会自动处理该过程。
@@ -295,7 +295,7 @@ return [
 使用以上配置,资源管理器会创建一个符号链接到要发布的资源包源路径,这比拷贝文件方式快并能确保发布的资源一直为最新的。
 
 
-## 常用资源包 <a name="common-asset-bundles"></a>
+## 常用资源包 <span id="common-asset-bundles"></span>
 
 Yii框架定义许多资源包,如下资源包是最常用,可在你的应用或扩展代码中引用它们。
 
@@ -310,7 +310,7 @@ Yii框架定义许多资源包,如下资源包是最常用,可在你的应�
 如果这些包的默认配置不能满足你的需求,可以自定义配置,详情参考[自定义资源包](#customizing-asset-bundles)。
 
 
-## 资源转换 <a name="asset-conversion"></a>
+## 资源转换 <span id="asset-conversion"></span>
 
 除了直接编写CSS 和/或 JavaScript代码,开发人员经常使用扩展语法来编写,再使用特殊的工具将它们转换成CSS/Javascript。
 例如,对于CSS代码可使用[LESS](http://lesscss.org/) 或 [SCSS](http://sass-lang.com/),
@@ -375,7 +375,7 @@ return [
   来监控并自动转换扩展语法资源,此时,应使用资源包中编译后的CSS/Javascript文件而不是原始文件。
 
 
-## 合并和压缩资源 <a name="combining-compressing-assets"></a>
+## 合并和压缩资源 <span id="combining-compressing-assets"></span>
 
 一个Web页面可以包含很多CSS 和/或 JavaScript 文件,为减少HTTP 请求和这些下载文件的大小,
 通常的方式是在页面中合并并压缩多个CSS/JavaScript 文件为一个或很少的几个文件,并使用压缩后的文件而不是原始文件。
@@ -396,7 +396,7 @@ return [
 而不是原始文件。
 
 
-### 示例 <a name="example"></a>
+### 示例 <span id="example"></span>
 
 使用一个示例来解释以上这种方式:
 
@@ -458,7 +458,7 @@ return [
 如上所示,在产品上线模式下资源包数组存储在`assets-prod.php`文件中,不是产品上线模式存储在`assets-dev.php`文件中。
 
 
-### 使用 `asset` 命令 <a name="using-asset-command"></a>
+### 使用 `asset` 命令 <span id="using-asset-command"></span>
 
 Yii提供一个名为`asset`控制台命令来使上述操作自动处理。
 
diff --git a/docs/guide-zh-CN/structure-controllers.md b/docs/guide-zh-CN/structure-controllers.md
index 29c28b1..41489c8 100644
--- a/docs/guide-zh-CN/structure-controllers.md
+++ b/docs/guide-zh-CN/structure-controllers.md
@@ -7,7 +7,7 @@
 传送模型结果到[视图](structure-views.md),最后生成输出响应信息。
 
 
-## 操作 <a name="actions"></a>
+## 操作 <span id="actions"></span>
 
 控制器由 *操作* 组成,它是执行终端用户请求的最基础的单元,一个控制器可有一个或多个操作。
 
@@ -57,7 +57,7 @@ class PostController extends Controller
 然后保存模型,如果两者都成功,会跳转到ID为新创建的模型的`view`操作,否则显示提供用户输入的`create`视图。
 
 
-## 路由 <a name="routes"></a>
+## 路由 <span id="routes"></span>
 
 终端用户通过所谓的*路由*寻找到操作,路由是包含以下部分的字符串:
 
@@ -81,7 +81,7 @@ ModuleID/ControllerID/ActionID
 更多关于处理路由的详情请参阅 [路由](runtime-routing.md) 一节。
 
 
-## 创建控制器 <a name="creating-controllers"></a>
+## 创建控制器 <span id="creating-controllers"></span>
 
 在[[yii\web\Application|Web applications]]网页应用中,控制器应继承[[yii\web\Controller]] 或它的子类。
 同理在[[yii\console\Application|console applications]]控制台应用中,控制器继承[[yii\console\Controller]] 或它的子类。
@@ -98,7 +98,7 @@ class SiteController extends Controller
 ```
 
 
-### 控制器ID <a name="controller-ids"></a>
+### 控制器ID <span id="controller-ids"></span>
 
 通常情况下,控制器用来处理请求有关的资源类型,因此控制器ID通常为和资源有关的名词。
 例如使用`article`作为处理文章的控制器ID。
@@ -111,7 +111,7 @@ class SiteController extends Controller
 子目录前缀可为英文大小写字母、数字、下划线、正斜杠,其中正斜杠用来区分多级子目录(如 `panels/admin`)。
 
 
-### 控制器类命名 <a name="controller-class-naming"></a>
+### 控制器类命名 <span id="controller-class-naming"></span>
 
 控制器ID遵循以下规则衍生控制器类名:
 
@@ -136,7 +136,7 @@ class SiteController extends Controller
   在你不想用 [模块](structure-modules.md) 的情况下给控制器分类,这种方式很有用。
 
 
-### 控制器部署 <a name="controller-map"></a>
+### 控制器部署 <span id="controller-map"></span>
 
 可通过配置 [[yii\base\Application::controllerMap|controller map]] 来强制上述的控制器ID和类名对应,
 通常用在使用第三方不能掌控类名的控制器上。
@@ -160,7 +160,7 @@ class SiteController extends Controller
 ```
 
 
-### 默认控制器 <a name="default-controller"></a>
+### 默认控制器 <span id="default-controller"></span>
 
 每个应用有一个由[[yii\base\Application::defaultRoute]]属性指定的默认控制器;
 当请求没有指定 [路由](#ids-routes),该属性值作为路由使用。
@@ -177,7 +177,7 @@ class SiteController extends Controller
 ```
 
 
-## 创建操作 <a name="creating-actions"></a>
+## 创建操作 <span id="creating-actions"></span>
 
 创建操作可简单地在控制器类中定义所谓的 *操作方法* 来完成,操作方法必须是以`action`开头的公有方法。
 操作方法的返回值会作为响应数据发送给终端用户,如下代码定义了两个操作 `index` 和 `hello-world`:
@@ -202,7 +202,7 @@ class SiteController extends Controller
 ```
 
 
-### 操作ID <a name="action-ids"></a>
+### 操作ID <span id="action-ids"></span>
 
 操作通常是用来执行资源的特定操作,因此,操作ID通常为动词,如`view`, `update`等。
 
@@ -215,7 +215,7 @@ class SiteController extends Controller
 独立操作相反,主要用于多个控制器重用,或重构为[扩展](structure-extensions.md)。
 
 
-### 内联操作 <a name="inline-actions"></a>
+### 内联操作 <span id="inline-actions"></span>
 
 内联操作指的是根据我们刚描述的操作方法。
 
@@ -235,7 +235,7 @@ class SiteController extends Controller
 或者你想重新分配一个操作,需要考虑定义它为*独立操作*。
 
 
-### 独立操作 <a name="standalone-actions"></a>
+### 独立操作 <span id="standalone-actions"></span>
 
 独立操作通过继承[[yii\base\Action]]或它的子类来定义。
 例如Yii发布的[[yii\web\ViewAction]]和[[yii\web\ErrorAction]]都是独立操作。
@@ -281,7 +281,7 @@ class HelloWorldAction extends Action
 ```
 
 
-### 操作结果 <a name="action-results"></a>
+### 操作结果 <span id="action-results"></span>
 
 操作方法或独立操作的`run()`方法的返回值非常重要,它表示对应操作结果。
 
@@ -304,7 +304,7 @@ public function actionForward()
 ```
 
 
-### 操作参数 <a name="action-parameters"></a>
+### 操作参数 <span id="action-parameters"></span>
 
 内联操作的操作方法和独立操作的 `run()` 方法可以带参数,称为*操作参数*。
 参数值从请求中获取,对于[[yii\web\Application|Web applications]]网页应用,
@@ -352,7 +352,7 @@ public function actionView(array $id, $version = null)
 上述例子主要描述网页应用的操作参数,对于控制台应用,更多详情请参阅[控制台命令](tutorial-console.md)。
 
 
-### 默认操作 <a name="default-action"></a>
+### 默认操作 <span id="default-action"></span>
 
 每个控制器都有一个由 [[yii\base\Controller::defaultAction]] 属性指定的默认操作,
 当[路由](#ids-routes) 只包含控制器ID,会使用所请求的控制器的默认操作。
@@ -376,7 +376,7 @@ class SiteController extends Controller
 ```
 
 
-## 控制器生命周期 <a name="controller-lifecycle"></a>
+## 控制器生命周期 <span id="controller-lifecycle"></span>
 
 处理一个请求时,[应用主体](structure-applications.md) 会根据请求[路由](#routes)创建一个控制器,控制器经过以下生命周期来完成请求:
 
@@ -397,7 +397,7 @@ class SiteController extends Controller
 6. 应用主体获取操作结果并赋值给[响应](runtime-responses.md).
 
 
-## 最佳实践 <a name="best-practices"></a>
+## 最佳实践 <span id="best-practices"></span>
 
 在设计良好的应用中,控制器很精练,包含的操作代码简短;
 如果你的控制器很复杂,通常意味着需要重构,转移一些代码到其他类中。
diff --git a/docs/guide-zh-CN/structure-entry-scripts.md b/docs/guide-zh-CN/structure-entry-scripts.md
index 2992ccd..7c623b0 100644
--- a/docs/guide-zh-CN/structure-entry-scripts.md
+++ b/docs/guide-zh-CN/structure-entry-scripts.md
@@ -17,7 +17,7 @@ Web 应用的入口脚本必须放在终端用户能够访问的目录下,通�
 * 调用 [[yii\base\Application::run()]] 来处理请求。
 
 
-## Web 应用 <a name="web-applications"></a>
+## Web 应用 <span id="web-applications"></span>
 
 以下是[基础应用模版](start-installation.md)入口脚本的代码:
 
@@ -41,7 +41,7 @@ $config = require(__DIR__ . '/../config/web.php');
 ```
 
 
-## 控制台应用 <a name="console-applications"></a>
+## 控制台应用 <span id="console-applications"></span>
 
 以下是一个控制台应用的入口脚本:
 
@@ -77,7 +77,7 @@ exit($exitCode);
 ```
 
 
-## 定义常量 <a name="defining-constants"></a>
+## 定义常量 <span id="defining-constants"></span>
 
 入口脚本是定义全局常量的最好地方,Yii 支持以下三个常量:
 
diff --git a/docs/guide-zh-CN/structure-extensions.md b/docs/guide-zh-CN/structure-extensions.md
index b0d472a..54d924a 100644
--- a/docs/guide-zh-CN/structure-extensions.md
+++ b/docs/guide-zh-CN/structure-extensions.md
@@ -11,7 +11,7 @@ other people your great work.
   that can be used without Yii, we will refer to them using the term "package" or "library".
 
 
-## Using Extensions <a name="using-extensions"></a>
+## Using Extensions <span id="using-extensions"></span>
 
 To use an extension, you need to install it first. Most extensions are distributed as [Composer](https://getcomposer.org/)
 packages which can be installed by taking the following two simple steps:
@@ -66,7 +66,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 > Info: Extension classes are autoloaded by the [Yii class autoloader](concept-autoloading.md).
 
 
-### Installing Extensions Manually <a name="installing-extensions-manually"></a>
+### Installing Extensions Manually <span id="installing-extensions-manually"></span>
 
 In some rare occasions, you may want to install some or all extensions manually, rather than relying on Composer.
 To do so, you should
@@ -90,7 +90,7 @@ are under the `myext` namespace, then you can include the following code in your
 ```
 
 
-## Creating Extensions <a name="creating-extensions"></a>
+## Creating Extensions <span id="creating-extensions"></span>
 
 You may consider creating an extension when you feel the need to share with other people your great code.
 An extension can contain any code you like, such as a helper class, a widget, a module, etc.
@@ -108,7 +108,7 @@ Below are the basic steps you may follow to create an extension as a Composer pa
    other users can find and install your extension using Composer.
 
 
-### `composer.json` <a name="composer-json"></a>
+### `composer.json` <span id="composer-json"></span>
 
 Each Composer package must have a `composer.json` file in its root directory. The file contains the metadata about
 the package. You may find complete specification about this file in the [Composer Manual](https://getcomposer.org/doc/01-basic-usage.md#composer-json-project-setup).
@@ -155,7 +155,7 @@ The following example shows the `composer.json` file for the `yiisoft/yii2-imagi
 ```
 
 
-#### Package Name <a name="package-name"></a>
+#### Package Name <span id="package-name"></span>
 
 Each Composer package should have a package name which uniquely identifies the package among all others.
 The format of package names is `vendorName/projectName`. For example, in the package name `yiisoft/yii2-imagine`,
@@ -167,7 +167,7 @@ We recommend you prefix `yii2-` to the project name for packages representing Yi
 `myname/yii2-mywidget`. This will allow users to more easily tell whether a package is a Yii 2 extension.
 
 
-#### Package Type <a name="package-type"></a>
+#### Package Type <span id="package-type"></span>
 
 It is important that you specify the package type of your extension as `yii2-extension` so that the package can
 be recognized as a Yii extension when being installed.
@@ -177,7 +177,7 @@ will be automatically updated to include the information about the new extension
 can know which extensions are installed (the information can be accessed via [[yii\base\Application::extensions]].
 
 
-#### Dependencies <a name="dependencies"></a>
+#### Dependencies <span id="dependencies"></span>
 
 Your extension depends on Yii (of course). So you should list it (`yiisoft/yii2`) in the `require` entry in `composer.json`.
 If your extension also depends on other extensions or third-party libraries, you should list them as well.
@@ -207,7 +207,7 @@ These two directories can also be referred to using the shorter aliases `@bower/
 For more details about asset management, please refer to the [Assets](structure-assets.md#bower-npm-assets) section.
 
 
-#### Class Autoloading <a name="class-autoloading"></a>
+#### Class Autoloading <span id="class-autoloading"></span>
 
 In order for your classes to be autoloaded by the Yii class autoloader or the Composer class autoloader,
 you should specify the `autoload` entry in the `composer.json` file, like shown below:
@@ -231,13 +231,13 @@ an [alias](concept-aliases.md#extension-aliases) that refers to the directory co
 For example, the above `autoload` declaration will correspond to an alias named `@yii/imagine`.
 
 
-### Recommended Practices <a name="recommended-practices"></a>
+### Recommended Practices <span id="recommended-practices"></span>
 
 Because extensions are meant to be used by other people, you often need to take extra development effort. Below
 we introduce some common and recommended practices in creating high quality extensions.
 
 
-#### Namespaces <a name="namespaces"></a>
+#### Namespaces <span id="namespaces"></span>
 
 To avoid name collisions and make the classes in your extension autoloadable, you should use namespaces and
 name the classes in your extension by following the [PSR-4 standard](http://www.php-fig.org/psr/psr-4/) or
@@ -250,7 +250,7 @@ extension, we use `yii\imagine` as the namespace its classes.
 Do not use `yii`, `yii2` or `yiisoft` as vendor name. These names are reserved for use by the Yii core code.
 
 
-#### Bootstrapping Classes <a name="bootstrapping-classes"></a>
+#### Bootstrapping Classes <span id="bootstrapping-classes"></span>
 
 Sometimes, you may want your extension to execute some code during the [bootstrapping process](runtime-bootstrapping.md)
 stage of an application. For example, your extension may want to respond to the application's `beginRequest` event
@@ -294,7 +294,7 @@ and call its [[yii\base\BootstrapInterface::bootstrap()|bootstrap()]] method dur
 every request.
 
 
-#### Working with Databases <a name="working-with-databases"></a>
+#### Working with Databases <span id="working-with-databases"></span>
 
 Your extension may need to access databases. Do not assume that the applications that use your extension will always
 use `Yii::$db` as the DB connection. Instead, you should declare a `db` property for the classes that require DB access.
@@ -308,7 +308,7 @@ If your extension needs to create specific DB tables or make changes to DB schem
 - avoid using [Active Record](db-active-record.md) in the migrations.
 
 
-#### Using Assets <a name="using-assets"></a>
+#### Using Assets <span id="using-assets"></span>
 
 If your extension is a widget or a module, chances are that it may require some [assets](structure-assets.md) to work.
 For example, a module may display some pages which contain images, JavaScript, and CSS. Because the files of an
@@ -323,7 +323,7 @@ We recommend you use the second approach so that your extension can be more easi
 Please refer to the [Assets](structure-assets.md) section for more details about how to work with assets in general.
 
 
-#### Internationalization and Localization <a name="i18n-l10n"></a>
+#### Internationalization and Localization <span id="i18n-l10n"></span>
 
 Your extension may be used by applications supporting different languages! Therefore, if your extension displays
 content to end users, you should try to [internationalize and localize](tutorial-i18n.md) it. In particular,
@@ -337,7 +337,7 @@ content to end users, you should try to [internationalize and localize](tutorial
 For more details, please refer to the [Internationalization](tutorial-i18n.md) section.
 
 
-#### Testing <a name="testing"></a>
+#### Testing <span id="testing"></span>
 
 You want your extension to run flawlessly without bringing problems to other people. To reach this goal, you should
 test your extension before releasing it to public.
@@ -348,13 +348,13 @@ everything is in good shape. Yii provides testing support, which can help you to
 acceptance tests and functionality tests. For more details, please refer to the [Testing](test-overview.md) section.
 
 
-#### Versioning <a name="versioning"></a>
+#### Versioning <span id="versioning"></span>
 
 You should give each release of your extension a version number (e.g. `1.0.1`). We recommend you follow the
 [semantic versioning](http://semver.org) practice when determining what version numbers should be used.
 
 
-#### Releasing <a name="releasing"></a>
+#### Releasing <span id="releasing"></span>
 
 To let other people know your extension, you need to release it to public.
 
@@ -386,7 +386,7 @@ help other people learn about and use your extension:
   the [core framework code style](https://github.com/yiisoft/yii2/wiki/Core-framework-code-style).
 
 
-## Core Extensions <a name="core-extensions"></a>
+## Core Extensions <span id="core-extensions"></span>
 
 Yii provides the following core extensions that are developed and maintained by the Yii developer team. They are all
 registered on [Packagist](https://packagist.org/) and can be easily installed as described in the
diff --git a/docs/guide-zh-CN/structure-filters.md b/docs/guide-zh-CN/structure-filters.md
index 4a63544..5c327a1 100644
--- a/docs/guide-zh-CN/structure-filters.md
+++ b/docs/guide-zh-CN/structure-filters.md
@@ -8,7 +8,7 @@
 过滤器可包含 预过滤(过滤逻辑在动作*之前*) 或 后过滤(过滤逻辑在动作*之后*),也可同时包含两者。
 
 
-## 使用过滤器 <a name="using-filters"></a>
+## 使用过滤器 <span id="using-filters"></span>
 
 过滤器本质上是一类特殊的 [行为](concept-behaviors.md),所以使用过滤器和 [使用 行为](concept-behaviors.md#attaching-behaviors)一样。
 可以在控制器类中覆盖它的 [[yii\base\Controller::behaviors()|behaviors()]] 方法来申明过滤器,如下所示:
@@ -55,7 +55,7 @@ public function behaviors()
     - 倒序执行应用主体中`behaviors()`列出的过滤器。
 
 
-## 创建过滤器 <a name="creating-filters"></a>
+## 创建过滤器 <span id="creating-filters"></span>
 
 继承 [[yii\base\ActionFilter]] 类并覆盖
 [[yii\base\ActionFilter::beforeAction()|beforeAction()]] 和/或 [[yii\base\ActionFilter::afterAction()|afterAction()]]
@@ -91,12 +91,12 @@ class ActionTimeFilter extends ActionFilter
 ```
 
 
-## 核心过滤器 <a name="core-filters"></a>
+## 核心过滤器 <span id="core-filters"></span>
 
 Yii提供了一组常用过滤器,在`yii\filters`命名空间下,接下来我们简要介绍这些过滤器。
 
 
-### [[yii\filters\AccessControl|AccessControl]] <a name="access-control"></a>
+### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
 
 AccessControl提供基于[[yii\filters\AccessControl::rules|rules]]规则的访问控制。
 特别是在动作执行之前,访问控制会检测所有规则并找到第一个符合上下文的变量(比如用户IP地址、登录状态等等)的规则,
@@ -129,7 +129,7 @@ public function behaviors()
 更多关于访问控制的详情请参阅 [授权](security-authorization.md) 一节。
 
 
-### 认证方法过滤器 <a name="auth-method-filters"></a>
+### 认证方法过滤器 <span id="auth-method-filters"></span>
 
 认证方法过滤器通过[HTTP Basic Auth](http://en.wikipedia.org/wiki/Basic_access_authentication)或[OAuth 2](http://oauth.net/2/)
 来认证一个用户,认证方法过滤器类在 `yii\filters\auth` 命名空间下。
@@ -154,7 +154,7 @@ public function behaviors()
 认证方法过滤器通常在实现RESTful API中使用,更多关于访问控制的详情请参阅 RESTful [认证](rest-authentication.md) 一节。
 
 
-### [[yii\filters\ContentNegotiator|ContentNegotiator]] <a name="content-negotiator"></a>
+### [[yii\filters\ContentNegotiator|ContentNegotiator]] <span id="content-negotiator"></span>
 
 ContentNegotiator支持响应内容格式处理和语言处理。
 通过检查 `GET` 参数和 `Accept` HTTP头部来决定响应内容格式和语言。
@@ -212,7 +212,7 @@ use yii\web\Response;
 
 
 
-### [[yii\filters\HttpCache|HttpCache]] <a name="http-cache"></a>
+### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
 
 HttpCache利用`Last-Modified` 和 `Etag` HTTP头实现客户端缓存。例如:
 
@@ -237,7 +237,7 @@ public function behaviors()
 更多关于使用HttpCache详情请参阅 [HTTP 缓存](caching-http.md) 一节。
 
 
-### [[yii\filters\PageCache|PageCache]] <a name="page-cache"></a>
+### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
 
 PageCache实现服务器端整个页面的缓存。如下示例所示,PageCache应用在`index`动作,
 缓存整个页面60秒或`post`表的记录数发生变化。它也会根据不同应用语言保存不同的页面版本。
@@ -268,13 +268,13 @@ public function behaviors()
 更多关于使用PageCache详情请参阅 [页面缓存](caching-page.md) 一节。
 
 
-### [[yii\filters\RateLimiter|RateLimiter]] <a name="rate-limiter"></a>
+### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
 
 RateLimiter 根据 [漏桶算法](http://en.wikipedia.org/wiki/Leaky_bucket) 来实现速率限制。
 主要用在实现RESTful APIs,更多关于该过滤器详情请参阅 [Rate Limiting](rest-rate-limiting.md) 一节。
 
 
-### [[yii\filters\VerbFilter|VerbFilter]] <a name="verb-filter"></a>
+### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
 
 VerbFilter检查请求动作的HTTP请求方式是否允许执行,如果不允许,会抛出HTTP 405异常。
 如下示例,VerbFilter指定CRUD动作所允许的请求方式。
@@ -299,7 +299,7 @@ public function behaviors()
 }
 ```
 
-### [[yii\filters\Cors|Cors]] <a name="cors"></a>
+### [[yii\filters\Cors|Cors]] <span id="cors"></span>
 
 跨域资源共享 [CORS](https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS) 机制允许一个网页的许多资源(例如字体、JavaScript等)
 这些资源可以通过其他域名访问获取。
diff --git a/docs/guide-zh-CN/structure-models.md b/docs/guide-zh-CN/structure-models.md
index 3864670..96aced9 100644
--- a/docs/guide-zh-CN/structure-models.md
+++ b/docs/guide-zh-CN/structure-models.md
@@ -18,7 +18,7 @@
 > 补充:模型并不强制一定要继承[[yii\base\Model]],但是由于很多组件支持[[yii\base\Model]],最好使用它做为模型基类。
 
 
-## 属性 <a name="attributes"></a>
+## 属性 <span id="attributes"></span>
 
 模型通过 *属性* 来代表业务数据,每个属性像是模型的公有可访问属性,
 [[yii\base\Model::attributes()]] 指定模型所拥有的属性。
@@ -50,7 +50,7 @@ foreach ($model as $name => $value) {
 ```
 
 
-### 定义属性 <a name="defining-attributes"></a>
+### 定义属性 <span id="defining-attributes"></span>
 
 默认情况下你的模型类直接从[[yii\base\Model]]继承,所有 *non-static public非静态公有* 成员变量都是属性。
 例如,下述`ContactForm` 模型类有四个属性`name`, `email`, `subject` and `body`,
@@ -76,7 +76,7 @@ class ContactForm extends Model
 注意可能需要覆盖魔术方法如`__get()`, `__set()`使属性像普通对象属性被访问。
 
 
-### 属性标签 <a name="attribute-labels"></a>
+### 属性标签 <span id="attribute-labels"></span>
 
 当属性显示或获取输入时,经常要显示属性相关标签,例如假定一个属性名为`firstName`,
 在某些地方如表单输入或错误信息处,你可能想显示对终端用户来说更友好的 `First Name` 标签。
@@ -141,7 +141,7 @@ public function attributeLabels()
 > 补充:属性标签是 [视图](structure-views.md)一部分,但是在模型中申明标签通常非常方便,并可行程非常简洁可重用代码。
 
 
-## 场景 <a name="scenarios"></a>
+## 场景 <span id="scenarios"></span>
 
 模型可能在多个 *场景* 下使用,例如 `User` 模块可能会在收集用户登录输入,也可能会在用户注册时使用。
 在不同的场景下,模型可能会使用不同的业务规则和逻辑,例如 `email` 属性在注册时强制要求有,但在登陆时不需要。
@@ -210,7 +210,7 @@ class User extends ActiveRecord
 你也可以用于其他目的,例如可基于不同的场景定义不同的 [属性标签](#attribute-labels)。
 
 
-## 验证规则 <a name="validation-rules"></a>
+## 验证规则 <span id="validation-rules"></span>
 
 当模型接收到终端用户输入的数据,数据应当满足某种规则(称为 *验证规则*, 也称为 *业务规则*)。
 例如假定`ContactForm`模型,你可能想确保所有属性不为空且 `email` 属性包含一个有效的邮箱地址,
@@ -275,7 +275,7 @@ public function rules()
 一个属性只会属于`scenarios()`中定义的活动属性且在`rules()`申明对应一条或多条活动规则的情况下被验证。
 
 
-## 块赋值 <a name="massive-assignment"></a>
+## 块赋值 <span id="massive-assignment"></span>
 
 块赋值只用一行代码将用户所有输入填充到一个模型,非常方便,
 它直接将输入数据对应填充到 [[yii\base\Model::attributes]] 属性。
@@ -297,7 +297,7 @@ $model->body = isset($data['body']) ? $data['body'] : null;
 ```
 
 
-### 安全属性 <a name="safe-attributes"></a>
+### 安全属性 <span id="safe-attributes"></span>
 
 块赋值只应用在模型当前[[yii\base\Model::scenario|scenario]]场景[[yii\base\Model::scenarios()]]方法
 列出的称之为 *安全属性* 的属性上,例如,如果`User`模型申明以下场景,
@@ -333,7 +333,7 @@ public function rules()
 ```
 
 
-### 非安全属性 <a name="unsafe-attributes"></a>
+### 非安全属性 <span id="unsafe-attributes"></span>
 
 如上所述,[[yii\base\Model::scenarios()]] 方法提供两个用处:定义哪些属性应被验证,定义哪些属性安全。
 在某些情况下,你可能想验证一个属性但不想让他是安全的,可在`scenarios()`方法中属性名加一个惊叹号 `!`。
@@ -356,7 +356,7 @@ $model->secret = $secret;
 ```
 
 
-## 数据导出 <a name="data-exporting"></a>
+## 数据导出 <span id="data-exporting"></span>
 
 模型通常要导出成不同格式,例如,你可能想将模型的一个集合转成JSON或Excel格式,
 导出过程可分解为两个步骤,第一步,模型转换成数组;第二步,数组转换成所需要的格式。
@@ -377,7 +377,7 @@ $array = $post->attributes;
 实际上,它是导出模型到 RESTful 网页服务开发的默认方法,详情请参阅[响应格式](rest-response-formatting.md).
 
 
-### 字段 <a name="fields"></a>
+### 字段 <span id="fields"></span>
 
 字段是模型通过调用[[yii\base\Model::toArray()]]生成的数组的单元名。
 
@@ -430,7 +430,7 @@ public function fields()
 > `auth_key`, `password_hash` and `password_reset_token`。
 
 
-## 最佳实践 <a name="best-practices"></a>
+## 最佳实践 <span id="best-practices"></span>
 
 模型是代表业务数据、规则和逻辑的中心地方,通常在很多地方重用,
 在一个设计良好的应用中,模型通常比[控制器](structure-controllers.md)代码多。
diff --git a/docs/guide-zh-CN/structure-modules.md b/docs/guide-zh-CN/structure-modules.md
index 6ad4217..d050398 100644
--- a/docs/guide-zh-CN/structure-modules.md
+++ b/docs/guide-zh-CN/structure-modules.md
@@ -8,7 +8,7 @@
 模块不能单独部署,必须属于某个应用主体。
 
 
-## 创建模块 <a name="creating-modules"></a>
+## 创建模块 <span id="creating-modules"></span>
 
 模块被组织成一个称为[[yii\base\Module::basePath|base path]]的目录,
 在该目录中有子目录如`controllers`, `models`, `views` 分别为对应控制器,模型,视图和其他代码,和应用非常类似。
@@ -27,7 +27,7 @@ forum/
 ```
 
 
-### 模块类 <a name="module-classes"></a>
+### 模块类 <span id="module-classes"></span>
 
 每个模块都有一个继承[[yii\base\Module]]的模块类,该类文件直接放在模块的[[yii\base\Module::basePath|base path]]目录下,
 并且能被 [自动加载](concept-autoloading.md)。当一个模块被访问,和 [应用主体实例](structure-applications.md)
@@ -77,7 +77,7 @@ return [
 ```
 
 
-### 模块中的控制器 <a name="controllers-in-modules"></a>
+### 模块中的控制器 <span id="controllers-in-modules"></span>
 
 创建模块的控制器时,惯例是将控制器类放在模块类命名空间的`controllers`子命名空间中,
 也意味着要将控制器类文件放在模块[[yii\base\Module::basePath|base path]]目录中的`controllers`子目录中。
@@ -99,7 +99,7 @@ class PostController extends Controller
 这类似于 [应用主体配置](structure-applications.md#controller-map) 所做的。
 
 
-### 模块中的视图 <a name="views-in-modules"></a>
+### 模块中的视图 <span id="views-in-modules"></span>
 
 视图应放在模块的[[yii\base\Module::basePath|base path]]对应目录下的 `views` 目录,
 对于模块中控制器对应的视图文件应放在 `views/ControllerID` 目录下,
@@ -111,7 +111,7 @@ class PostController extends Controller
 如果没有配置 `layout` 属性名,默认会使用应用的布局。
 
 
-## 使用模块 <a name="using-modules"></a>
+## 使用模块 <span id="using-modules"></span>
 
 要在应用中使用模块,只需要将模块加入到应用主体配置的[[yii\base\Application::modules|modules]]属性的列表中,
 如下代码的[应用主体配置](structure-applications.md#application-configurations) 使用 `forum` 模块:
@@ -131,7 +131,7 @@ class PostController extends Controller
 它标识该应用中唯一的模块,数组的值为用来创建模块的 [配置](concept-configurations.md)。
 
 
-### 路由 <a name="routes"></a>
+### 路由 <span id="routes"></span>
 
 和访问应用的控制器类似,[路由](structure-controllers.md#routes) 也用在模块中控制器的寻址,
 模块中控制器的路由必须以模块ID开始,接下来为控制器ID和操作ID。
@@ -140,7 +140,7 @@ class PostController extends Controller
 也就是说路由 `forum` 可能代表 `forum` 模块的 `default` 控制器。
 
 
-### 访问模块 <a name="accessing-modules"></a>
+### 访问模块 <span id="accessing-modules"></span>
 
 在模块中,可能经常需要获取[模块类](#module-classes)的实例来访问模块ID,模块参数,模块组件等,
 可以使用如下语句来获取:
@@ -174,7 +174,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-### 引导启动模块 <a name="bootstrapping-modules"></a>
+### 引导启动模块 <span id="bootstrapping-modules"></span>
 
 有些模块在每个请求下都有运行, [[yii\debug\Module|debug]] 模块就是这种,
 为此将这种模块加入到应用主体的 [[yii\base\Application::bootstrap|bootstrap]] 属性中。
@@ -194,7 +194,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-## 模块嵌套 <a name="nested-modules"></a>
+## 模块嵌套 <span id="nested-modules"></span>
 
 模块可无限级嵌套,也就是说,模块可以包含另一个包含模块的模块,我们称前者为*父模块*,后者为*子模块*,
 子模块必须在父模块的[[yii\base\Module::modules|modules]]属性中申明,例如:
@@ -222,7 +222,7 @@ class Module extends \yii\base\Module
 在模块`forum`中子模块`admin`中`dashboard`控制器的`index`操作。
 
 
-## 最佳实践 <a name="best-practices"></a>
+## 最佳实践 <span id="best-practices"></span>
 
 模块在大型项目中常备使用,这些项目的特性可分组,每个组包含一些强相关的特性,
 每个特性组可以做成一个模块由特定的开发人员和开发组来开发和维护。
diff --git a/docs/guide-zh-CN/structure-views.md b/docs/guide-zh-CN/structure-views.md
index 78e6597..b61d446 100644
--- a/docs/guide-zh-CN/structure-views.md
+++ b/docs/guide-zh-CN/structure-views.md
@@ -7,7 +7,7 @@
 该组件主要提供通用方法帮助视图构造和渲染,简单起见,我们称视图模板或视图模板文件为视图。
 
 
-## 创建视图 <a name="creating-views"></a>
+## 创建视图 <span id="creating-views"></span>
 
 如前所述,视图为包含HTML和PHP代码的PHP脚本,如下代码为一个登录表单的视图,
 可看到PHP代码用来生成动态内容如页面标题和表单,HTML代码把它组织成一个漂亮的HTML页面。
@@ -42,7 +42,7 @@ $this->title = 'Login';
 > 技巧: 将预定义变量列到视图文件头部注释处,这样可被IDE编辑器识别,也是生成视图文档的好方法。
 
 
-### 安全 <a name="security"></a>
+### 安全 <span id="security"></span>
 
 当创建生成HTML页面的视图时,在显示之前将用户输入数据进行转码和过滤非常重要,
 否则,你的应用可能会被[跨站脚本](http://en.wikipedia.org/wiki/Cross-site_scripting) 攻击。
@@ -75,7 +75,7 @@ use yii\helpers\HtmlPurifier;
   [缓存](caching-overview.md) 过滤后的结果。
 
 
-### 组织视图 <a name="organizing-views"></a>
+### 组织视图 <span id="organizing-views"></span>
 
 与 [控制器](structure-controllers.md) 和 [模型](structure-models.md) 类似,在组织视图上有一些约定:
 
@@ -91,7 +91,7 @@ use yii\helpers\HtmlPurifier;
 可覆盖控制器或小部件的 [[yii\base\ViewContextInterface::getViewPath()]] 方法来自定义视图文件默认目录。
 
 
-## 渲染视图 <a name="rendering-views"></a>
+## 渲染视图 <span id="rendering-views"></span>
 
 可在 [控制器](structure-controllers.md), [小部件](structure-widgets.md), 或其他地方调用渲染视图方法来渲染视图,
 该方法类似以下格式:
@@ -106,7 +106,7 @@ methodName($view, $params = [])
 ```
 
 
-### 控制器中渲染 <a name="rendering-in-controllers"></a>
+### 控制器中渲染 <span id="rendering-in-controllers"></span>
 
 在 [控制器](structure-controllers.md) 中,可调用以下控制器方法来渲染视图:
 
@@ -145,7 +145,7 @@ class PostController extends Controller
 ```
 
 
-### 小部件中渲染 <a name="rendering-in-widgets"></a>
+### 小部件中渲染 <span id="rendering-in-widgets"></span>
 
 在 [小部件](structure-widgets.md) 中,可调用以下小部件方法来渲染视图:
 Within [widgets](structure-widgets.md), you may call the following widget methods to render views.
@@ -176,7 +176,7 @@ class ListWidget extends Widget
 ```
 
 
-### 视图中渲染 <a name="rendering-in-views"></a>
+### 视图中渲染 <span id="rendering-in-views"></span>
 
 可以在视图中渲染另一个视图,可以调用[[yii\base\View|view component]]视图组件提供的以下方法:
 
@@ -193,7 +193,7 @@ class ListWidget extends Widget
 ```
 
 
-### 其他地方渲染 <a name="rendering-in-other-places"></a>
+### 其他地方渲染 <span id="rendering-in-other-places"></span>
 
 在任何地方都可以通过表达式 `Yii::$app->view` 访问 [[yii\base\View|view]] 应用组件,
 调用它的如前所述的方法渲染视图,例如:
@@ -204,7 +204,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 ```
 
 
-### 视图名 <a name="named-views"></a>
+### 视图名 <span id="named-views"></span>
 
 渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活,
 我们称用名字的视图为 *视图名*.
@@ -231,7 +231,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 会渲染 `@app/views/post/_overview.php` 视图文件。
 
 
-### 视图中访问数据 <a name="accessing-data-in-views"></a>
+### 视图中访问数据 <span id="accessing-data-in-views"></span>
 
 在视图中有两种方式访问数据:推送和拉取。
 
@@ -259,7 +259,7 @@ The controller ID is: <?= $this->context->id ?>
 缺点是需要手动构建数组,有些繁琐,在不同地方渲染时容易出错。
 
 
-### 视图间共享数据 <a name="sharing-data-among-views"></a>
+### 视图间共享数据 <span id="sharing-data-among-views"></span>
 
 [[yii\base\View|view component]]视图组件提供[[yii\base\View::params|params]]参数属性来让不同视图共享数据。
 
@@ -279,14 +279,14 @@ $this->params['breadcrumbs'][] = 'About Us';
 ```
 
 
-## 布局 <a name="layouts"></a>
+## 布局 <span id="layouts"></span>
 
 布局是一种特殊的视图,代表多个视图的公共部分,例如,大多数Web应用共享相同的页头和页尾,
 在每个视图中重复相同的页头和页尾,更好的方式是将这些公共放到一个布局中,
 渲染内容视图后在合适的地方嵌入到布局中。
 
 
-### 创建布局 <a name="creating-layouts"></a>
+### 创建布局 <span id="creating-layouts"></span>
 
 由于布局也是视图,它可像普通视图一样创建,布局默认存储在`@app/views/layouts`路径下,
 [模块](structure-modules.md)中使用的布局应存储在[[yii\base\Module::basePath|module directory]]模块目录
@@ -342,7 +342,7 @@ use yii\helpers\Html;
   会被注册的HTML代码(如JavaScript)在页面主体结尾处替换。
 
 
-### 布局中访问数据 <a name="accessing-data-in-layouts"></a>
+### 布局中访问数据 <span id="accessing-data-in-layouts"></span>
 
 在布局中可访问两个预定义变量:`$this` 和 `$content`,前者对应和普通视图类似的[[yii\base\View|view]] 视图组件
 后者包含调用[[yii\base\Controller::render()|render()]]方法渲染内容视图的结果。
@@ -351,7 +351,7 @@ use yii\helpers\Html;
 如果想从内容视图中传递数据到布局,可使用[视图间共享数据](#sharing-data-among-views)一节中的方法。
 
 
-### 使用布局 <a name="using-layouts"></a>
+### 使用布局 <span id="using-layouts"></span>
 
 如[控制器中渲染](#rendering-in-controllers)一节描述,当控制器调用[[yii\base\Controller::render()|render()]]
 方法渲染视图时,会同时使用布局到渲染结果中,默认会使用`@app/views/layouts/main.php`布局文件。
@@ -399,7 +399,7 @@ class PostController extends Controller
 布局的值没有包含文件扩展名,默认使用 `.php`作为扩展名。
 
 
-### 嵌套布局 <a name="nested-layouts"></a>
+### 嵌套布局 <span id="nested-layouts"></span>
 
 有时候你想嵌套一个布局到另一个,例如,在Web站点不同地方,想使用不同的布局,
 同时这些布局共享相同的生成全局HTML5页面结构的基本布局,可以在子布局中调用
@@ -421,7 +421,7 @@ class PostController extends Controller
 使用以上方式可多层嵌套布局。
 
 
-### 使用数据块 <a name="using-blocks"></a>
+### 使用数据块 <span id="using-blocks"></span>
 
 数据块可以在一个地方指定视图内容在另一个地方显示,通常和布局一起使用,
 例如,可在内容视图中定义数据块在布局中显示它。
@@ -480,7 +480,7 @@ class PostController extends Controller
 ```
 
 
-## 使用视图组件 <a name="using-view-components"></a>
+## 使用视图组件 <span id="using-view-components"></span>
 
 [[yii\base\View|View components]]视图组件提供许多视图相关特性,可创建[[yii\base\View]]或它的子类实例来获取视图组件,
 大多数情况下主要使用 `view` 应用组件,可在[应用配置](structure-applications.md#application-configurations)中配置该组件,
@@ -510,7 +510,7 @@ class PostController extends Controller
 开发Web页面时,也可能频繁使用以下实用的小特性。
 
 
-### 设置页面标题 <a name="setting-page-titles"></a>
+### 设置页面标题 <span id="setting-page-titles"></span>
 
 每个Web页面应有一个标题,正常情况下标题的标签显示在 [布局](#layouts)中,
 但是实际上标题大多由内容视图而不是布局来决定,为解决这个问题, [[yii\web\View]] 提供
@@ -531,7 +531,7 @@ $this->title = 'My page title';
 ```
 
 
-### 注册Meta元标签 <a name="registering-meta-tags"></a>
+### 注册Meta元标签 <span id="registering-meta-tags"></span>
 
 Web页面通常需要生成各种元标签提供给不同的浏览器,如`<head>`中的页面标题,元标签通常在布局中生成。
 
@@ -561,7 +561,7 @@ $this->registerMetaTag(['name' => 'description', 'content' => 'This website is a
 ```
 
 
-### 注册链接标签 <a name="registering-link-tags"></a>
+### 注册链接标签 <span id="registering-link-tags"></span>
 
 和 [Meta标签](#adding-meta-tags) 类似,链接标签有时很实用,如自定义网站图标,指定Rss订阅,或授权OpenID到其他服务器。
 可以和元标签相似的方式调用[[yii\web\View::registerLinkTag()]],例如,在内容视图中注册链接标签如下所示:
@@ -585,7 +585,7 @@ $this->registerLinkTag([
 调用[[yii\web\View::registerLinkTag()|registerLinkTag()]] 指定键来避免生成重复链接标签。
 
 
-## 视图事件 <a name="view-events"></a>
+## 视图事件 <span id="view-events"></span>
 
 [[yii\base\View|View components]] 视图组件会在视图渲染过程中触发几个事件,
 可以在内容发送给终端用户前,响应这些事件来添加内容到视图中或调整渲染结果。
@@ -608,7 +608,7 @@ $this->registerLinkTag([
 ```
 
 
-## 渲染静态页面 <a name="rendering-static-pages"></a>
+## 渲染静态页面 <span id="rendering-static-pages"></span>
 
 静态页面指的是大部分内容为静态的不需要控制器传递动态数据的Web页面。
 
@@ -655,7 +655,7 @@ http://localhost/index.php?r=site/page&view=about
 修改搜索视图的目录。
 
 
-## 最佳实践 <a name="best-practices"></a>
+## 最佳实践 <span id="best-practices"></span>
 
 视图负责将模型的数据展示用户想要的格式,总之,视图
 
diff --git a/docs/guide-zh-CN/structure-widgets.md b/docs/guide-zh-CN/structure-widgets.md
index 149fa0d..0b4e9ba 100644
--- a/docs/guide-zh-CN/structure-widgets.md
+++ b/docs/guide-zh-CN/structure-widgets.md
@@ -17,7 +17,7 @@ Yii提供许多优秀的小部件,比如[[yii\widgets\ActiveForm|active form]]
 接下来介绍小部件的基本知识,如果你想了解某个小部件请参考对应的类API文档。
 
 
-## 使用小部件 <a name="using-widgets"></a>
+## 使用小部件 <span id="using-widgets"></span>
 
 小部件基本上在[views](structure-views.md)中使用,在视图中可调用 [[yii\base\Widget::widget()]] 方法使用小部件。
 该方法使用 [配置](concept-configurations.md) 数组初始化小部件并返回小部件渲染后的结果。
@@ -64,8 +64,8 @@ use yii\helpers\Html;
 调用 [[yii\base\Widget::begin()]] 方法返回一个可组建小部件内容的小部件实例。
 
 
-## 创建小部件 <a name="creating-widgets"></a>
-## Creating Widgets <a name="creating-widgets"></a>
+## 创建小部件 <span id="creating-widgets"></span>
+## Creating Widgets <span id="creating-widgets"></span>
 
 继承 [[yii\base\Widget]] 类并覆盖 [[yii\base\Widget::init()]] 和/或
 [[yii\base\Widget::run()]] 方法可创建小部件。通常`init()` 方法处理小部件属性,
@@ -166,7 +166,7 @@ public function run()
 可以覆盖[[yii\base\Widget::getViewPath()]]方法自定义视图文件所在路径。
 
 
-## 最佳实践 <a name="best-practices"></a>
+## 最佳实践 <span id="best-practices"></span>
 
 小部件是面向对象方式来重用视图代码。
 
diff --git a/docs/guide-zh-CN/tutorial-core-validators.md b/docs/guide-zh-CN/tutorial-core-validators.md
index fc20889..3bd0fcb 100644
--- a/docs/guide-zh-CN/tutorial-core-validators.md
+++ b/docs/guide-zh-CN/tutorial-core-validators.md
@@ -17,7 +17,7 @@ public function rules()
 下面,我们将详细介绍每一款验证器的主要用法和属性。
 
 
-## [[yii\validators\BooleanValidator|boolean(布尔型)]] <a name="boolean"></a>
+## [[yii\validators\BooleanValidator|boolean(布尔型)]] <span id="boolean"></span>
 
 ```php
 [
@@ -40,7 +40,7 @@ public function rules()
   [[yii\validators\BooleanValidator::strict|strict]] 属性为假。
 
 
-## [[yii\captcha\CaptchaValidator|captcha(验证码)]] <a name="captcha"></a>
+## [[yii\captcha\CaptchaValidator|captcha(验证码)]] <span id="captcha"></span>
 
 ```php
 [
@@ -56,7 +56,7 @@ public function rules()
 - `skipOnEmpty`:当输入为空时,是否跳过验证。默认为 false,也就是输入值为必需项。
   
 
-## [[yii\validators\CompareValidator|compare(比较)]] <a name="compare"></a>
+## [[yii\validators\CompareValidator|compare(比较)]] <span id="compare"></span>
 
 ```php
 [
@@ -83,7 +83,7 @@ public function rules()
      * `<=`:检查待测目标值是否小于等于给定被测值。
 
 
-## [[yii\validators\DateValidator|date(日期)]] <a name="date"></a>
+## [[yii\validators\DateValidator|date(日期)]] <span id="date"></span>
 
 ```php
 [
@@ -98,7 +98,7 @@ public function rules()
 - `timestampAttribute`:用于保存用输入时间/日期转换出来的 UNIX 时间戳的特性。
 
 
-## [[yii\validators\DefaultValueValidator|default(默认值)]] <a name="default"></a>
+## [[yii\validators\DefaultValueValidator|default(默认值)]] <span id="default"></span>
 
 ```php
 [
@@ -129,7 +129,7 @@ function foo($model, $attribute) {
 > 补充:如何判断待测值是否为空,被写在另外一个话题的[处理空输入](input-validation.md#handling-empty-inputs)章节。
 
 
-## [[yii\validators\NumberValidator|double(双精度浮点型)]] <a name="double"></a>
+## [[yii\validators\NumberValidator|double(双精度浮点型)]] <span id="double"></span>
 
 ```php
 [
@@ -144,7 +144,7 @@ function foo($model, $attribute) {
 - `min`:下限值(含界点)。若不设置,则验证器不检查下限。
 
 
-## [[yii\validators\EmailValidator|email(电子邮件)]] <a name="email"></a>
+## [[yii\validators\EmailValidator|email(电子邮件)]] <span id="email"></span>
 
 ```php
 [
@@ -160,7 +160,7 @@ function foo($model, $attribute) {
 - `enableIDN`:验证过程是否应该考虑 IDN(internationalized domain names,国际化域名,也称多语种域名,比如中文域名)。默认为 false。要注意但是为使用 IDN 验证功能,请先确保安装并开启 `intl` PHP 扩展,不然会导致抛出异常。
 
 
-## [[yii\validators\ExistValidator|exist(存在性)]] <a name="exist"></a>
+## [[yii\validators\ExistValidator|exist(存在性)]] <span id="exist"></span>
 
 ```php
 [
@@ -200,7 +200,7 @@ function foo($model, $attribute) {
 - 最后别忘了,unique 验证器不存在 `allowArray` 属性哦。
 
 
-## [[yii\validators\FileValidator|file(文件)]] <a name="file"></a>
+## [[yii\validators\FileValidator|file(文件)]] <span id="file"></span>
 
 ```php
 [
@@ -224,7 +224,7 @@ function foo($model, $attribute) {
 `FileValidator` 通常与 [[yii\web\UploadedFile]] 共同使用。请参考 [文件上传](input-file-upload.md)章节来了解有关文件上传与上传文件的检验的全部内容。
 
 
-## [[yii\validators\FilterValidator|filter(滤镜)]] <a name="filter"></a>
+## [[yii\validators\FilterValidator|filter(滤镜)]] <span id="filter"></span>
 
 ```php
 [
@@ -247,7 +247,7 @@ function foo($model, $attribute) {
 > 技巧:如果你只是想要用 trim 处理下输入值,你可以直接用 [trim](#trim) 验证器的。
 
 
-## [[yii\validators\ImageValidator|image(图片)]] <a name="image"></a>
+## [[yii\validators\ImageValidator|image(图片)]] <span id="image"></span>
 
 ```php
 [
@@ -267,7 +267,7 @@ function foo($model, $attribute) {
 - `maxHeight`:图片的最大高度。默认为 null,代表无上限。
 
 
-## [[yii\validators\RangeValidator|in(范围)]] <a name="in"></a>
+## [[yii\validators\RangeValidator|in(范围)]] <span id="in"></span>
 
 ```php
 [
@@ -284,7 +284,7 @@ function foo($model, $attribute) {
 - `allowArray`:是否接受输入值为数组。当该值为 true 且输入值为数组时,数组内的每一个元素都必须在给定列表内存在,否则返回验证失败。
 
 
-## [[yii\validators\NumberValidator|integer(整数)]] <a name="integer"></a>
+## [[yii\validators\NumberValidator|integer(整数)]] <span id="integer"></span>
 
 ```php
 [
@@ -299,7 +299,7 @@ function foo($model, $attribute) {
 - `min`:下限值(含界点)。若不设置,则验证器不检查下限。
 
 
-## [[yii\validators\RegularExpressionValidator|match(正则表达式)]] <a name="match"></a>
+## [[yii\validators\RegularExpressionValidator|match(正则表达式)]] <span id="match"></span>
 
 ```php
 [
@@ -314,7 +314,7 @@ function foo($model, $attribute) {
 - `not`:是否对验证的结果取反。默认为 false,代表输入值匹配正则表达式时验证成功。如果设为 true,则输入值不匹配正则时返回匹配成功。
 
 
-## [[yii\validators\NumberValidator|number(数字)]] <a name="number"></a>
+## [[yii\validators\NumberValidator|number(数字)]] <span id="number"></span>
 
 ```php
 [
@@ -329,7 +329,7 @@ function foo($model, $attribute) {
 - `min`:下限值(含界点)。若不设置,则验证器不检查下限。
 
 
-## [[yii\validators\RequiredValidator|required(必填)]] <a name="required"></a>
+## [[yii\validators\RequiredValidator|required(必填)]] <span id="required"></span>
 
 ```php
 [
@@ -348,7 +348,7 @@ function foo($model, $attribute) {
 > 补充:如何判断待测值是否为空,被写在另外一个话题的[处理空输入](input-validation.md#handling-empty-inputs)章节。
 
 
-## [[yii\validators\SafeValidator|safe(安全)]] <a name="safe"></a>
+## [[yii\validators\SafeValidator|safe(安全)]] <span id="safe"></span>
 
 ```php
 [
@@ -360,7 +360,7 @@ function foo($model, $attribute) {
 该验证器并不进行数据验证。而是把一个特性标记为[安全特性](structure-models.md#safe-attributes)。
 
 
-## [[yii\validators\StringValidator|string(字符串)]] <a name="string"></a>
+## [[yii\validators\StringValidator|string(字符串)]] <span id="string"></span>
 
 ```php
 [
@@ -381,7 +381,7 @@ function foo($model, $attribute) {
 - `encoding`:待测字符串的编码方式。若不设置,则使用应用自身的 [[yii\base\Application::charset|charset]] 属性值,该值默认为 `UTF-8`。
 
 
-## [[yii\validators\FilterValidator|trim(译为修剪/裁边)]] <a name="trim"></a>
+## [[yii\validators\FilterValidator|trim(译为修剪/裁边)]] <span id="trim"></span>
 
 ```php
 [
@@ -393,7 +393,7 @@ function foo($model, $attribute) {
 该验证器并不进行数据验证。而是,trim 掉输入值两侧的多余空格。注意若该输入值为数组,那它会忽略掉该验证器。
 
 
-## [[yii\validators\UniqueValidator|unique(唯一性)]] <a name="unique"></a>
+## [[yii\validators\UniqueValidator|unique(唯一性)]] <span id="unique"></span>
 
 ```php
 [
@@ -429,7 +429,7 @@ function foo($model, $attribute) {
 - 最后别忘了,unique 验证器不存在 `allowArray` 属性哦。
 
 
-## [[yii\validators\UrlValidator|url(网址)]] <a name="url"></a>
+## [[yii\validators\UrlValidator|url(网址)]] <span id="url"></span>
 
 ```php
 [
diff --git a/docs/guide-zh-CN/tutorial-yii-integration.md b/docs/guide-zh-CN/tutorial-yii-integration.md
index 13a3419..b53d6f0 100644
--- a/docs/guide-zh-CN/tutorial-yii-integration.md
+++ b/docs/guide-zh-CN/tutorial-yii-integration.md
@@ -4,12 +4,12 @@
 有时,你可能会需要在 Yii 应用中使用第三方的代码。又或者是你想要在第三方系统中把 Yii 作为类库引用。在下面这个板块中,我们向你展示如何实现这些目标。
 
 
-## 在 Yii 中使用第三方类库 <a name="using-libs-in-yii"></a>
+## 在 Yii 中使用第三方类库 <span id="using-libs-in-yii"></span>
 
 要想在 Yii 应用中使用第三方类库,你主要需要确保这些库中的类文件都可以被正常导入或可以被自动加载。
 
 
-### 使用 Composer 包 <a name="using-composer-packages"></a>
+### 使用 Composer 包 <span id="using-composer-packages"></span>
 
 目前很多第三方的类库都以 [Composer](https://getcomposer.org/) 包的形式发布。你只需要以下两个简单的步骤即可安装他们:
 
@@ -28,7 +28,7 @@ require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
 ```
 
 
-### 使用下载的类库 <a name="using-downloaded-libs"></a>
+### 使用下载的类库 <span id="using-downloaded-libs"></span>
 
 若你的类库并未发布为一个 Composer 包,你可以参考以下安装说明来安装它。在大多数情况下,你需要预先下载一个发布文件,并把它解压缩到
 `BasePath/vendor` 目录,这里的 `BasePath` 代指你应用程序自身的 [base path(主目录)](structure-applications.md#basePath)。
@@ -61,7 +61,7 @@ Yii::$classMap['Class2'] = 'path/to/Class2.php';
 ```
 
 
-## 在第三方系统内使用 Yii <a name="using-yii-in-others"></a>
+## 在第三方系统内使用 Yii <span id="using-yii-in-others"></span>
 
 因为 Yii 提供了很多牛逼的功能,有时,你可能会想要使用它们中的一些功能用来支持开发或完善某些第三方的系统,比如:WordPress,Joomla,或是用其他 PHP 框架开发的应用程序。举两个例子吧,你可能会想念方便的 [[yii\helpers\ArrayHelper]] 类,或在第三方系统中使用
 [Active Record](db-active-record.md) 活动记录功能。要实现这些目标,你只需两个步骤:安装 Yii,启动 Yii。
@@ -91,7 +91,7 @@ new yii\web\Application($yiiConfig); // 千万别在这调用 run() 方法。(
 现在,你就可以使用 Yii 提供的绝大多数功能了。比如,创建 AR 类,并用它们来操作数据库。
 
 
-## 配合使用 Yii 2 和 Yii 1 <a name="using-both-yii2-yii1"></a>
+## 配合使用 Yii 2 和 Yii 1 <span id="using-both-yii2-yii1"></span>
 
 如果你之前使用 Yii 1,大概你也有正在运行的 Yii 1 应用吧。不必用 Yii 2 重写整个应用,你也可以通过增添对哪些
 Yii 2 独占功能的支持来增强这个系统。下面我们就来详细描述一下具体的实现过程。
diff --git a/docs/guide/caching-data.md b/docs/guide/caching-data.md
index 8dd1460..a27d100 100644
--- a/docs/guide/caching-data.md
+++ b/docs/guide/caching-data.md
@@ -24,7 +24,7 @@ if ($data === false) {
 ```
 
 
-## Cache Components <a name="cache-components"></a>
+## Cache Components <span id="cache-components"></span>
 
 Data caching relies on the so-called *cache components* which represent various cache storage,
 such as memory, files, databases.
@@ -73,7 +73,7 @@ For example, you can modify the above configuration to use [[yii\caching\ApcCach
   by default by many cache-dependent classes (e.g. [[yii\web\UrlManager]]).
 
 
-### Supported Cache Storage <a name="supported-cache-storage"></a>
+### Supported Cache Storage <span id="supported-cache-storage"></span>
 
 Yii supports a wide range of cache storage. The following is a summary:
 
@@ -110,7 +110,7 @@ Yii supports a wide range of cache storage. The following is a summary:
   or database-based cache storage to store data that is big and less frequently used (e.g. page content).
 
 
-## Cache APIs <a name="cache-apis"></a>
+## Cache APIs <span id="cache-apis"></span>
 
 All cache components have the same base class [[yii\caching\Cache]] and thus support the following APIs:
 
@@ -144,7 +144,7 @@ $value2 = $cache['var2'];  // equivalent to: $value2 = $cache->get('var2');
 ```
 
 
-### Cache Keys <a name="cache-keys"></a>
+### Cache Keys <span id="cache-keys"></span>
 
 Each data item stored in cache is uniquely identified by a key. When you store a data item in cache,
 you have to specify a key for it. Later when you retrieve the data item from cache, you should provide
@@ -183,7 +183,7 @@ property. For example, in the application configuration you can write the follow
 To ensure interoperability, only alphanumeric characters should be used.
 
 
-### Cache Expiration <a name="cache-expiration"></a>
+### Cache Expiration <span id="cache-expiration"></span>
 
 A data item stored in a cache will remain there forever unless it is removed because of some caching policy
 enforcement (e.g. caching space is full and the oldest data are removed). To change this behavior, you can provide
@@ -205,7 +205,7 @@ if ($data === false) {
 ```
 
 
-### Cache Dependencies <a name="cache-dependencies"></a>
+### Cache Dependencies <span id="cache-dependencies"></span>
 
 Besides expiration setting, cached data item may also be invalidated by changes of the so-called *cache dependencies*.
 For example, [[yii\caching\FileDependency]] represents the dependency of a file's modification time.
@@ -241,7 +241,7 @@ Below is a summary of the available cache dependencies:
   the cached data items with the specified tag(s) by calling [[yii\caching\TagDependency::invalidate()]].
 
 
-## Query Caching <a name="query-caching"></a>
+## Query Caching <span id="query-caching"></span>
 
 Query caching is a special caching feature built on top of data caching. It is provided to cache the result
 of database queries.
@@ -267,7 +267,7 @@ Query caching can be used for [DAO](db-dao.md) as well as [ActiveRecord](db-acti
   and are potentially more efficient.
 
 
-### Configurations <a name="query-caching-configs"></a>
+### Configurations <span id="query-caching-configs"></span>
 
 Query caching has three global configurable options through [[yii\db\Connection]]:
 
@@ -282,7 +282,7 @@ Query caching has three global configurable options through [[yii\db\Connection]
   It defaults to `'cache'`. Query caching is enabled only if there is a valid cache application component.
 
 
-### Usages <a name="query-caching-usages"></a>
+### Usages <span id="query-caching-usages"></span>
 
 You can use [[yii\db\Connection::cache()]] if you have multiple SQL queries that need to take advantage of
 query caching. The usage is as follows,
@@ -350,7 +350,7 @@ $result = $db->cache(function ($db) {
 ```
 
 
-### Limitations <a name="query-caching-limitations"></a>
+### Limitations <span id="query-caching-limitations"></span>
 
 Query caching does not work with query results that contain resource handlers. For example,
 when using the `BLOB` column type in some DBMS, the query result will return a resource
diff --git a/docs/guide/caching-fragment.md b/docs/guide/caching-fragment.md
index 49e58ae..99c69f1 100644
--- a/docs/guide/caching-fragment.md
+++ b/docs/guide/caching-fragment.md
@@ -25,14 +25,14 @@ is called, the generated content will be captured and stored in the cache.
 Like [data caching](caching-data.md), a unique `$id` is needed to identify a content cache.
 
 
-## Caching Options <a name="caching-options"></a>
+## Caching Options <span id="caching-options"></span>
 
 You may specify additional options about fragment caching by passing the option array as the second
 parameter to the [[yii\base\View::beginCache()|beginCache()]] method. Behind the scene, this option array
 will be used to configure a [[yii\widgets\FragmentCache]] widget which implements the actual fragment caching
 functionality.
 
-### Duration <a name="duration"></a>
+### Duration <span id="duration"></span>
 
 Perhaps the most commonly used option of fragment caching is [[yii\widgets\FragmentCache::duration|duration]].
 It specifies for how many seconds the content can remain valid in a cache. The following code
@@ -50,7 +50,7 @@ if ($this->beginCache($id, ['duration' => 3600])) {
 If the option is not set, it will take the default value 60, which means the cached content will expire in 60 seconds.
 
 
-### Dependencies <a name="dependencies"></a>
+### Dependencies <span id="dependencies"></span>
 
 Like [data caching](caching-data.md#cache-dependencies), content fragment being cached can also have dependencies.
 For example, the content of a post being displayed depends on whether or not the post is modified.
@@ -74,7 +74,7 @@ if ($this->beginCache($id, ['dependency' => $dependency])) {
 ```
 
 
-### Variations <a name="variations"></a>
+### Variations <span id="variations"></span>
 
 Content being cached may be variated according to some parameters. For example, for a Web application
 supporting multiple languages, the same piece of view code may generate the content in different languages.
@@ -94,7 +94,7 @@ if ($this->beginCache($id, ['variations' => [Yii::$app->language]])) {
 ```
 
 
-### Toggling Caching <a name="toggling-caching"></a>
+### Toggling Caching <span id="toggling-caching"></span>
 
 Sometimes you may want to enable fragment caching only when certain conditions are met. For example, for a page
 displaying a form, you only want to cache the form when it is initially requested (via GET request). Any
@@ -111,7 +111,7 @@ if ($this->beginCache($id, ['enabled' => Yii::$app->request->isGet])) {
 ```
 
 
-## Nested Caching <a name="nested-caching"></a>
+## Nested Caching <span id="nested-caching"></span>
 
 Fragment caching can be nested. That is, a cached fragment can be enclosed within another fragment which is also cached.
 For example, the comments are cached in an inner fragment cache, and they are cached together with the
@@ -143,7 +143,7 @@ inner cache has been invalidated. Therefore, you must be careful in setting the 
 of the nested caches, otherwise the outdated inner fragments may be kept in the outer fragment.
 
 
-## Dynamic Content <a name="dynamic-content"></a>
+## Dynamic Content <span id="dynamic-content"></span>
 
 When using fragment caching, you may encounter the situation where a large fragment of content is relatively
 static except at one or a few places. For example, a page header may display the main menu bar together with
diff --git a/docs/guide/caching-http.md b/docs/guide/caching-http.md
index e9682ee..ea74448 100644
--- a/docs/guide/caching-http.md
+++ b/docs/guide/caching-http.md
@@ -13,7 +13,7 @@ only works for `GET` and `HEAD` requests. It can handle three kinds of cache-rel
 * [[yii\filters\HttpCache::cacheControlHeader|Cache-Control]]
 
 
-## `Last-Modified` Header <a name="last-modified"></a>
+## `Last-Modified` Header <span id="last-modified"></span>
 
 The `Last-Modified` header uses a timestamp to indicate if the page has been modified since the client caches it.
 
@@ -56,7 +56,7 @@ the server will not re-generate the page, and the browser will use the cached ve
 As a result, server-side rendering and page content transmission are both skipped.
 
 
-## `ETag` Header <a name="etag"></a>
+## `ETag` Header <span id="etag"></span>
 
 The "Entity Tag" (or `ETag` for short) header use a hash to represent the content of a page. If the page
 is changed, the hash will be changed as well. By comparing the hash kept on the client side with the hash
@@ -113,7 +113,7 @@ the cache if the page content has been modified.
   will be respected.
 
 
-## `Cache-Control` Header <a name="cache-control"></a>
+## `Cache-Control` Header <span id="cache-control"></span>
 
 The `Cache-Control` header specifies the general caching policy for pages. You may send it by configuring
 the [[yii\filters\HttpCache::cacheControlHeader]] property with the header value. By default, the following
@@ -123,7 +123,7 @@ header will be sent:
 Cache-Control: public, max-age=3600
 ```
 
-## Session Cache Limiter <a name="session-cache-limiter"></a>
+## Session Cache Limiter <span id="session-cache-limiter"></span>
 
 When a page uses session, PHP will automatically send some cache-related HTTP headers as specified in
 the `session.cache_limiter` PHP INI setting. These headers may interfere or disable the caching
@@ -135,7 +135,7 @@ these headers automatically. If you want to change this behavior, you should con
 for explanations about these values.
 
 
-## SEO Implications <a name="seo-implications"></a>
+## SEO Implications <span id="seo-implications"></span>
 
 Search engine bots tend to respect cache headers. Since some crawlers have a limit on how many pages
 per domain they process within a certain time span, introducing caching headers may help indexing your
diff --git a/docs/guide/concept-aliases.md b/docs/guide/concept-aliases.md
index 86bd50c..5d611d8 100644
--- a/docs/guide/concept-aliases.md
+++ b/docs/guide/concept-aliases.md
@@ -6,7 +6,7 @@ For example, the alias `@yii` represents the installation path of the Yii framew
 the base URL for the currently running Web application.
 
 
-Defining Aliases <a name="defining-aliases"></a>
+Defining Aliases <span id="defining-aliases"></span>
 ----------------
 
 You can define an alias for a file path or URL by calling [[Yii::setAlias()]]:
@@ -48,7 +48,7 @@ return [
 ```
 
 
-Resolving Aliases <a name="resolving-aliases"></a>
+Resolving Aliases <span id="resolving-aliases"></span>
 -----------------
 
 You can call [[Yii::getAlias()]] to resolve a root alias into the file path or URL it represents.
@@ -80,7 +80,7 @@ Yii::getAlias('@foo/bar/file.php');   // displays: /path2/bar/file.php
 If `@foo/bar` is not defined as a root alias, the last statement would display `/path/to/foo/bar/file.php`.
 
 
-Using Aliases <a name="using-aliases"></a>
+Using Aliases <span id="using-aliases"></span>
 -------------
 
 Aliases are recognized in many places in Yii without needing to call [[Yii::getAlias()]] to convert
@@ -99,7 +99,7 @@ $cache = new FileCache([
 Please pay attention to the API documentation to see if a property or method parameter supports aliases.
 
 
-Predefined Aliases <a name="predefined-aliases"></a>
+Predefined Aliases <span id="predefined-aliases"></span>
 ------------------
 
 Yii predefines a set of aliases to easily reference commonly used file paths and URLs:
@@ -118,7 +118,7 @@ The `@yii` alias is defined when you include the `Yii.php` file in your [entry s
 [configuration](concept-configurations.md).
 
 
-Extension Aliases <a name="extension-aliases"></a>
+Extension Aliases <span id="extension-aliases"></span>
 -----------------
 
 An alias is automatically defined for each [extension](structure-extensions.md) that is installed via Composer.
diff --git a/docs/guide/concept-autoloading.md b/docs/guide/concept-autoloading.md
index c7f5cc5..48bb724 100644
--- a/docs/guide/concept-autoloading.md
+++ b/docs/guide/concept-autoloading.md
@@ -10,7 +10,7 @@ The autoloader is installed when you include the `Yii.php` file.
   mind that the content we are describing here applies to autoloading of interfaces and traits as well.
 
 
-Using the Yii Autoloader <a name="using-yii-autoloader"></a>
+Using the Yii Autoloader <span id="using-yii-autoloader"></span>
 ------------------------
 
 To make use of the Yii class autoloader, you should follow two simple rules when creating and naming your classes:
@@ -37,7 +37,7 @@ the front-end tier has a root alias `@frontend`, while the back-end tier root al
 allow these classes to be autoloaded by the Yii autoloader.
 
 
-Class Map <a name="class-map"></a>
+Class Map <span id="class-map"></span>
 ---------
 
 The Yii class autoloader supports the *class map* feature, which maps class names to the corresponding class file paths.
@@ -55,7 +55,7 @@ Yii::$classMap['foo\bar\MyClass'] = 'path/to/MyClass.php';
 [bootstrapping](runtime-bootstrapping.md) process so that the map is ready before your classes are used.
 
 
-Using Other Autoloaders <a name="using-other-autoloaders"></a>
+Using Other Autoloaders <span id="using-other-autoloaders"></span>
 -----------------------
 
 Because Yii embraces Composer as a package dependency manager, it is recommended that you also install
@@ -81,7 +81,7 @@ to be autoloadable.
   and include it in your [entry script](structure-entry-scripts.md).
 
 
-Autoloading Extension Classes <a name="autoloading-extension-classes"></a>
+Autoloading Extension Classes <span id="autoloading-extension-classes"></span>
 -----------------------------
 
 The Yii autoloader is capable of autoloading [extension](structure-extensions.md) classes. The sole requirement
diff --git a/docs/guide/concept-behaviors.md b/docs/guide/concept-behaviors.md
index bf4bb05..563883a 100644
--- a/docs/guide/concept-behaviors.md
+++ b/docs/guide/concept-behaviors.md
@@ -9,7 +9,7 @@ can respond to the [events](concept-events.md) triggered by the component, which
 code execution of the component.
 
 
-Defining Behaviors <a name="defining-behaviors"></a>
+Defining Behaviors <span id="defining-behaviors"></span>
 ------------------
 
 To define a behavior, create a class that extends [[yii\base\Behavior]], or extends a child class. For example:
@@ -96,7 +96,7 @@ function ($event) {
 }
 ```
 
-Attaching Behaviors <a name="attaching-behaviors"></a>
+Attaching Behaviors <span id="attaching-behaviors"></span>
 -------------------
 
 You can attach a behavior to a [[yii\base\Component|component]] either statically or dynamically. The former is more common in practice.
@@ -189,7 +189,7 @@ You may also attach behaviors through [configurations](concept-configurations.md
 For more details,
 please refer to the [Configurations](concept-configurations.md#configuration-format) section.
 
-Using Behaviors <a name="using-behaviors"></a>
+Using Behaviors <span id="using-behaviors"></span>
 ---------------
 
 To use a behavior, first attach it to a [[yii\base\Component|component]] per the instructions above. Once a behavior is attached to a component, its usage is straightforward.
@@ -230,7 +230,7 @@ $behaviors = $component->getBehaviors();
 ```
 
 
-Detaching Behaviors <a name="detaching-behaviors"></a>
+Detaching Behaviors <span id="detaching-behaviors"></span>
 -------------------
 
 To detach a behavior, call [[yii\base\Component::detachBehavior()]] with the name associated with the behavior:
@@ -246,7 +246,7 @@ $component->detachBehaviors();
 ```
 
 
-Using `TimestampBehavior` <a name="using-timestamp-behavior"></a>
+Using `TimestampBehavior` <span id="using-timestamp-behavior"></span>
 -------------------------
 
 To wrap up, let's take a look at [[yii\behaviors\TimestampBehavior]]. This behavior supports automatically
@@ -303,7 +303,7 @@ to a specified attribute and save it to the database:
 $user->touch('login_time');
 ```
 
-Comparing Behaviors with Traits <a name="comparison-with-traits"></a>
+Comparing Behaviors with Traits <span id="comparison-with-traits"></span>
 ----------------------
 
 While behaviors are similar to [traits](http://www.php.net/traits) in that they both "inject" their
@@ -311,7 +311,7 @@ properties and methods to the primary class, they differ in many aspects. As exp
 both have pros and cons. They are more like complements to each other rather than alternatives.
 
 
-### Reasons to Use Behaviors <a name="pros-for-behaviors"></a>
+### Reasons to Use Behaviors <span id="pros-for-behaviors"></span>
 
 Behavior classes, like normal classes, support inheritance. Traits, on the other hand,
 can be considered as language-supported copy and paste. They do not support inheritance.
@@ -328,7 +328,7 @@ Name conflicts caused by different traits requires manual resolution by renaming
 properties or methods.
 
 
-### Reasons to Use Traits <a name="pros-for-traits"></a>
+### Reasons to Use Traits <span id="pros-for-traits"></span>
 
 Traits are much more efficient than behaviors as behaviors are objects that take both time and memory.
 
diff --git a/docs/guide/concept-configurations.md b/docs/guide/concept-configurations.md
index bd47b42..fb26d45 100644
--- a/docs/guide/concept-configurations.md
+++ b/docs/guide/concept-configurations.md
@@ -33,7 +33,7 @@ Yii::configure($object, $config);
 Note that, in this case, the configuration array should not contain a `class` element.
 
 
-## Configuration Format <a name="configuration-format"></a>
+## Configuration Format <span id="configuration-format"></span>
 
 The format of a configuration can be formally described as:
 
@@ -76,14 +76,14 @@ Below is an example showing a configuration with initial property values, event 
 ```
 
 
-## Using Configurations <a name="using-configurations"></a>
+## Using Configurations <span id="using-configurations"></span>
 
 Configurations are used in many places in Yii. At the beginning of this section, we have shown how to 
 create an object according to a configuration by using [[Yii::createObject()]]. In this subsection, we will
 describe application configurations and widget configurations - two major usages of configurations.
 
 
-### Application Configurations <a name="application-configurations"></a>
+### Application Configurations <span id="application-configurations"></span>
 
 The configuration for an [application](structure-applications.md) is probably one of the most complex arrays in Yii.
 This is because the [[yii\web\Application|application]] class has a lot of configurable properties and events.
@@ -134,7 +134,7 @@ More details about configuring the `components` property of an application can b
 in the [Applications](structure-applications.md) section and the [Service Locator](concept-service-locator.md) section.
 
 
-### Widget Configurations <a name="widget-configurations"></a>
+### Widget Configurations <span id="widget-configurations"></span>
 
 When using [widgets](structure-widgets.md), you often need to use configurations to customize the widget properties.
 Both of the [[yii\base\Widget::widget()]] and [[yii\base\Widget::begin()]] methods can be used to create
@@ -159,7 +159,7 @@ The `items` property is also configured with menu items to be displayed.
 Note that because the class name is already given, the configuration array should NOT have the `class` key.
 
 
-## Configuration Files <a name="configuration-files"></a>
+## Configuration Files <span id="configuration-files"></span>
 
 When a configuration is very complex, a common practice is to store it in one or multiple PHP files, known as
 *configuration files*. A configuration file returns a PHP array representing the configuration.
@@ -212,7 +212,7 @@ $config = require('path/to/web.php');
 ```
 
 
-## Default Configurations <a name="default-configurations"></a>
+## Default Configurations <span id="default-configurations"></span>
 
 The [[Yii::createObject()]] method is implemented based on a [dependency injection container](concept-di-container.md).
 It allows you to specify a set of the so-called *default configurations* which will be applied to ALL instances of
@@ -232,7 +232,7 @@ Without using default configurations, you would have to configure `maxButtonCoun
 link pagers.
 
 
-## Environment Constants <a name="environment-constants"></a>
+## Environment Constants <span id="environment-constants"></span>
 
 Configurations often vary according to the environment in which an application runs. For example,
 in development environment, you may want to use a database named `mydb_dev`, while on production server
diff --git a/docs/guide/concept-di-container.md b/docs/guide/concept-di-container.md
index 411836f..f777b40 100644
--- a/docs/guide/concept-di-container.md
+++ b/docs/guide/concept-di-container.md
@@ -6,7 +6,7 @@ all their dependent objects. [Martin's article](http://martinfowler.com/articles
 explained why DI container is useful. Here we will mainly explain the usage of the DI container provided by Yii.
 
 
-Dependency Injection <a name="dependency-injection"></a>
+Dependency Injection <span id="dependency-injection"></span>
 --------------------
 
 Yii provides the DI container feature through the class [[yii\di\Container]]. It supports the following kinds of
@@ -17,7 +17,7 @@ dependency injection:
 * PHP callable injection.
 
 
-### Constructor Injection <a name="constructor-injection"></a>
+### Constructor Injection <span id="constructor-injection"></span>
 
 The DI container supports constructor injection with the help of type hints for constructor parameters.
 The type hints tell the container which classes or interfaces are dependent when it is used to create a new object.
@@ -39,7 +39,7 @@ $foo = new Foo($bar);
 ```
 
 
-### Setter and Property Injection <a name="setter-and-property-injection"></a>
+### Setter and Property Injection <span id="setter-and-property-injection"></span>
 
 Setter and property injection is supported through [configurations](concept-configurations.md).
 When registering a dependency or when creating a new object, you can provide a configuration which
@@ -73,7 +73,7 @@ $container->get('Foo', [], [
 ```
 
 
-### PHP Callable Injection <a name="php-callable-injection"></a>
+### PHP Callable Injection <span id="php-callable-injection"></span>
 
 In this case, the container will use a registered PHP callable to build new instances of a class.
 The callable is responsible to resolve the dependencies and inject them appropriately to the newly
@@ -88,7 +88,7 @@ $foo = $container->get('Foo');
 ```
 
 
-Registering Dependencies <a name="registering-dependencies"></a>
+Registering Dependencies <span id="registering-dependencies"></span>
 ------------------------
 
 You can use [[yii\di\Container::set()]] to register dependencies. The registration requires a dependency name
@@ -157,7 +157,7 @@ $container->setSingleton('yii\db\Connection', [
 ```
 
 
-Resolving Dependencies <a name="resolving-dependencies"></a>
+Resolving Dependencies <span id="resolving-dependencies"></span>
 ----------------------
 
 Once you have registered dependencies, you can use the DI container to create new objects,
@@ -246,7 +246,7 @@ $lister = new UserLister($finder);
 ```
 
 
-Practical Usage <a name="practical-usage"></a>
+Practical Usage <span id="practical-usage"></span>
 ---------------
 
 Yii creates a DI container when you include the `Yii.php` file in the [entry script](structure-entry-scripts.md)
@@ -308,7 +308,7 @@ Now if you access the controller again, an instance of `app\components\BookingSe
 created and injected as the 3rd parameter to the controller's constructor.
 
 
-When to Register Dependencies <a name="when-to-register-dependencies"></a>
+When to Register Dependencies <span id="when-to-register-dependencies"></span>
 -----------------------------
 
 Because dependencies are needed when new objects are being created, their registration should be done
@@ -320,7 +320,7 @@ as early as possible. The followings are the recommended practices:
   in the bootstrapping class of the extension.
 
 
-Summary <a name="summary"></a>
+Summary <span id="summary"></span>
 -------
 
 Both dependency injection and [service locator](concept-service-locator.md) are popular design patterns
diff --git a/docs/guide/concept-events.md b/docs/guide/concept-events.md
index 0fb6f1d..0b915a5 100644
--- a/docs/guide/concept-events.md
+++ b/docs/guide/concept-events.md
@@ -10,7 +10,7 @@ Yii introduces a base class called [[yii\base\Component]] to support events. If 
 events, it should extend from [[yii\base\Component]], or from a child class.
 
 
-Event Handlers <a name="event-handlers"></a>
+Event Handlers <span id="event-handlers"></span>
 --------------
 
 An event handler is a [PHP callback](http://www.php.net/manual/en/language.types.callable.php) that gets executed
@@ -36,7 +36,7 @@ Through the `$event` parameter, an event handler may get the following informati
 - [[yii\base\Event::data|custom data]]: the data that is provided when attaching the event handler (to be explained next)
 
 
-Attaching Event Handlers <a name="attaching-event-handlers"></a>
+Attaching Event Handlers <span id="attaching-event-handlers"></span>
 ------------------------
 
 You can attach a handler to an event by calling the [[yii\base\Component::on()]] method. For example:
@@ -99,7 +99,7 @@ $foo->on(Foo::EVENT_HELLO, function ($event) {
 }, $data, false);
 ```
 
-Triggering Events <a name="triggering-events"></a>
+Triggering Events <span id="triggering-events"></span>
 -----------------
 
 Events are triggered by calling the [[yii\base\Component::trigger()]] method. The method requires an *event name*,
@@ -164,7 +164,7 @@ When the [[yii\base\Component::trigger()]] method is called, it will call all ha
 the named event.
 
 
-Detaching Event Handlers <a name="detaching-event-handlers"></a>
+Detaching Event Handlers <span id="detaching-event-handlers"></span>
 ------------------------
 
 To detach a handler from an event, call the [[yii\base\Component::off()]] method. For example:
@@ -194,7 +194,7 @@ $foo->off(Foo::EVENT_HELLO);
 ```
 
 
-Class-Level Event Handlers <a name="class-level-event-handlers"></a>
+Class-Level Event Handlers <span id="class-level-event-handlers"></span>
 --------------------------
 
 The above subsections described how to attach a handler to an event on an *instance level*.
@@ -252,7 +252,7 @@ Event::off(Foo::className(), Foo::EVENT_HELLO);
 ```
 
 
-Global Events <a name="global-events"></a>
+Global Events <span id="global-events"></span>
 -------------
 
 Yii supports a so-called *global event*, which is actually a trick based on the event mechanism described above.
diff --git a/docs/guide/db-active-record.md b/docs/guide/db-active-record.md
index d2e5251..768fae7 100644
--- a/docs/guide/db-active-record.md
+++ b/docs/guide/db-active-record.md
@@ -706,7 +706,7 @@ if ($customers[0]->orders[0]->customer === $customers[0]) {
 > you cannot call [[yii\db\ActiveQuery::inverseOf()]] further.
 
 
-Joining with Relations <a name="joining-with-relations"></a>
+Joining with Relations <span id="joining-with-relations"></span>
 ----------------------
 
 When working with relational databases, a common task is to join multiple tables and apply various
diff --git a/docs/guide/db-dao.md b/docs/guide/db-dao.md
index 126a7b4..743fab5 100644
--- a/docs/guide/db-dao.md
+++ b/docs/guide/db-dao.md
@@ -20,7 +20,7 @@ Yii DAO supports the following databases out of box:
 - [MSSQL](https://www.microsoft.com/en-us/sqlserver/default.aspx): version 2008 or higher.
 
 
-## Creating DB Connections <a name="creating-db-connections"></a>
+## Creating DB Connections <span id="creating-db-connections"></span>
 
 To access a database, you first need to connect to it by creating an instance of [[yii\db\Connection]]:
 
@@ -90,7 +90,7 @@ and [[yii\db\Connection::password|password]]. Please refer to [[yii\db\Connectio
   you execute the first SQL or you call the [[yii\db\Connection::open()|open()]] method explicitly.
 
 
-## Executing SQL Queries <a name="executing-sql-queries"></a>
+## Executing SQL Queries <span id="executing-sql-queries"></span>
 
 Once you have a database connection instance, you can execute a SQL query by taking the following steps:
  
@@ -149,7 +149,7 @@ return [
 ```
 
 
-### Binding Parameters <a name="binding-parameters"></a>
+### Binding Parameters <span id="binding-parameters"></span>
 
 When creating a DB command from a SQL with parameters, you should almost always use the approach of binding parameters
 to prevent SQL injection attacks. For example,
@@ -213,7 +213,7 @@ before each subsequent execution (this is often done with loops). Executing quer
 more efficient than running a new query for every different parameter value. 
 
 
-### Executing Non-SELECT Queries <a name="non-select-queries"></a>
+### Executing Non-SELECT Queries <span id="non-select-queries"></span>
 
 The `queryXyz()` methods introduced in the previous sections all deal with SELECT queries which fetch data from databases.
 For queries that do not bring back data, you should call the [[yii\db\Command::execute()]] method instead. For example,
@@ -256,7 +256,7 @@ $db->createCommand()->batchInsert('user', ['name', 'age'], [
 ```
 
 
-## Quoting Table and Column Names <a name="quoting-table-and-column-names"></a>
+## Quoting Table and Column Names <span id="quoting-table-and-column-names"></span>
 
 When writing database-agnostic code, properly quote table and column names is often a headache because
 different databases have different name quoting rules. To overcome this problem, you may use the following
@@ -275,7 +275,7 @@ $count = $db->createCommand("SELECT COUNT([[id]]) FROM {{%employee}}")
 ```
 
 
-### Using Table Prefix <a name="using-table-prefix"></a>
+### Using Table Prefix <span id="using-table-prefix"></span>
 
 If most of your DB tables use some common prefix in their tables, you may use the table prefix feature supported
 by Yii DAO.
@@ -306,7 +306,7 @@ $count = $db->createCommand("SELECT COUNT([[id]]) FROM {{%employee}}")
 ```
 
 
-## Performing Transactions <a name="performing-transactions"></a>
+## Performing Transactions <span id="performing-transactions"></span>
 
 When running multiple related queries in a sequence, you may need to wrap them in a transaction to ensure the integrity
 and consistency of your database. If any of the queries fails, the database will be rolled back to the state as if
@@ -350,7 +350,7 @@ will be triggered and caught, and the [[yii\db\Transaction::rollBack()|rollBack(
 the changes made by the queries prior to that failed query in the transaction.
 
 
-### Specifying Isolation Levels <a name="specifying-isolation-levels"></a>
+### Specifying Isolation Levels <span id="specifying-isolation-levels"></span>
 
 Yii also supports setting [isolation levels] for your transactions. By default, when starting a new transaction,
 it will use the isolation level set by your database system. You can override the default isolation level as follows,
@@ -392,7 +392,7 @@ You have to call [[yii\db\Transaction::setIsolationLevel()]] in this case after 
 [isolation levels]: http://en.wikipedia.org/wiki/Isolation_%28database_systems%29#Isolation_levels
 
 
-### Nesting Transactions <a name="nesting-transactions"></a>
+### Nesting Transactions <span id="nesting-transactions"></span>
 
 If your DBMS supports Savepoint, you may nest multiple transactions like the following:
 
@@ -428,7 +428,7 @@ try {
 ```
 
 
-## Replication and Read-Write Splitting <a name="read-write-splitting"></a>
+## Replication and Read-Write Splitting <span id="read-write-splitting"></span>
 
 Many DBMS support [database replication](http://en.wikipedia.org/wiki/Replication_(computing)#Database_replication)
 to get better database availability and faster server response time. With database replication, data are replicated
@@ -587,7 +587,7 @@ $rows = $db->useMaster(function ($db) {
 You may also directly set `$db->enableSlaves` to be false to direct all queries to the master connection.
 
 
-## Working with Database Schema <a name="database-schema"></a>
+## Working with Database Schema <span id="database-schema"></span>
 
 Yii DAO provides a whole set of methods to let you manipulate database schema, such as creating new tables,
 dropping a column from a table, etc. These methods are listed as follows:
diff --git a/docs/guide/helper-array.md b/docs/guide/helper-array.md
index d601ffa..2176238 100644
--- a/docs/guide/helper-array.md
+++ b/docs/guide/helper-array.md
@@ -5,7 +5,7 @@ Additionally to [rich set of PHP array functions](http://php.net/manual/en/book.
 extra static methods allowing you to deal with arrays more efficiently.
 
 
-## Getting Values <a name="getting-values"></a>
+## Getting Values <span id="getting-values"></span>
 
 Retrieving values from an array, an object or a complex structure consisting of both using standard PHP is quite
 repetitive. You have to check if key exists with `isset` first, then if it does you're getting it, if not,
@@ -64,7 +64,7 @@ After executing the code `$array` will contain `['options' => [1, 2]]` and `$typ
 `getValue` method, `remove` supports simple key names only.
 
 
-## Checking Existence of Keys <a name="checking-existence-of-keys"></a>
+## Checking Existence of Keys <span id="checking-existence-of-keys"></span>
 
 `ArrayHelper::keyExists` works the same way as [array_key_exists](http://php.net/manual/en/function.array-key-exists.php)
 except that it also supports case-insensitive key comparison. For example,
@@ -83,7 +83,7 @@ if (!ArrayHelper::keyExists('username', $data1, false) || !ArrayHelper::keyExist
 }
 ```
 
-## Retrieving Columns <a name="retrieving-columns"></a>
+## Retrieving Columns <span id="retrieving-columns"></span>
 
 Often you need to get a column of values from array of data rows or objects. Common example is getting a list of IDs.
 
@@ -107,7 +107,7 @@ $result = ArrayHelper::getColumn($array, function ($element) {
 ```
 
 
-## Re-indexing Arrays <a name="reindexing-arrays"></a>
+## Re-indexing Arrays <span id="reindexing-arrays"></span>
 
 In order to index an array according to a specified key, the `index` method can be used. The input array should be
 multidimensional or an array of objects. The key can be a key name of the sub-array, a property name of object, or
@@ -134,7 +134,7 @@ $result = ArrayHelper::index($array, function ($element) {
 ```
 
 
-## Building Maps <a name="building-maps"></a>
+## Building Maps <span id="building-maps"></span>
 
 In order to build a map (key-value pairs) from a multidimensional array or an array of objects you can use `map` method.
 The `$from` and `$to` parameters specify the key names or property names to set up the map. Optionally, one can further
@@ -169,7 +169,7 @@ $result = ArrayHelper::map($array, 'id', 'name', 'class');
 ```
 
 
-## Multidimensional Sorting <a name="multidimensional-sorting"></a>
+## Multidimensional Sorting <span id="multidimensional-sorting"></span>
 
 `multisort` method helps to sort an array of objects or nested arrays by one or several keys. For example,
 
@@ -209,7 +209,7 @@ Last argument is PHP sort flag that could take the same values as the ones passe
 PHP [sort()](http://php.net/manual/en/function.sort.php).
 
 
-## Detecting Array Types <a name="detecting-array-types"></a>
+## Detecting Array Types <span id="detecting-array-types"></span>
 
 It is handy to know whether an array is indexed or an associative. Here's an example:
 
@@ -224,7 +224,7 @@ echo ArrayHelper::isAssociative($associative);
 ```
 
 
-## HTML Encoding and Decoding Values <a name="html-encoding-values"></a>
+## HTML Encoding and Decoding Values <span id="html-encoding-values"></span>
 
 In order to encode or decode special characters in an array of strings into HTML entities you can use the following:
 
@@ -237,7 +237,7 @@ Only values will be encoded by default. By passing second argument as `false` yo
 Encoding will use application charset and could be changed via third argument.
 
 
-## Merging Arrays <a name="merging-arrays"></a>
+## Merging Arrays <span id="merging-arrays"></span>
 
 ```php
   /**
@@ -257,7 +257,7 @@ Encoding will use application charset and could be changed via third argument.
 ```
 
 
-## Converting Objects to Arrays <a name="converting-objects-to-arrays"></a>
+## Converting Objects to Arrays <span id="converting-objects-to-arrays"></span>
 
 Often you need to convert an object or an array of objects into an array. The most common case is converting active record
 models in order to serve data arrays via REST API or use it otherwise. The following code could be used to do it:
diff --git a/docs/guide/helper-html.md b/docs/guide/helper-html.md
index d7ab760..e9f20b3 100644
--- a/docs/guide/helper-html.md
+++ b/docs/guide/helper-html.md
@@ -10,13 +10,13 @@ of Html helper which provides a set of static methods for handling commonly used
   with Html helper calls.
 
 
-## Basics <a name="basics"></a>
+## Basics <span id="basics"></span>
 
 Since building dynamic HTML by string concatenation is getting messy very fast, Yii provides a set of methods to
 manipulate tag options and build tags based on these options.
 
 
-### Generating Tags <a name="generating-tags"></a>
+### Generating Tags <span id="generating-tags"></span>
 
 The code generating a tag looks like the following:
 
@@ -51,7 +51,7 @@ know about:
   `data-params='{"id":1,"name":"yii"}' data-status="ok"`.
 
 
-### Forming CSS Classes and Styles <a name="forming-css"></a>
+### Forming CSS Classes and Styles <span id="forming-css"></span>
 
 When building options for HTML tag we're often starting with defaults which we need to modify. In order to add or
 remove CSS class you can use the following:
@@ -89,7 +89,7 @@ could be converted there and forth by using [[yii\helpers\Html::cssStyleFromArra
 method accepts an array of properties to remove. If it's going to be a single property it could be specified as string.
 
 
-### Encoding and Decoding Content <a name="encoding-and-decoding-content"></a>
+### Encoding and Decoding Content <span id="encoding-and-decoding-content"></span>
 
 In order for content to be displayed properly and securely in HTML special characters in the content should be encoded.
 In PHP it's done with [htmlspecialchars](http://www.php.net/manual/en/function.htmlspecialchars.php) and
@@ -106,7 +106,7 @@ $decodedUserName = Html::decode($userName);
 ```
 
 
-## Forms <a name="forms"></a>
+## Forms <span id="forms"></span>
 
 Dealing with forms markup is quite repetitive and error prone. Because of that there is a group of methods to help
 dealing with them.
@@ -114,7 +114,7 @@ dealing with them.
 > Note: consider using [[yii\widgets\ActiveForm|ActiveForm]] in case you deal with models and need validation.
 
 
-### Creating Forms <a name="creating-forms"></a>
+### Creating Forms <span id="creating-forms"></span>
 
 Form could be opened with [[yii\helpers\Html::beginForm()|beginForm()]] method like the following:
 
@@ -134,7 +134,7 @@ Closing form tag is simple:
 ```
 
 
-### Buttons <a name="buttons"></a>
+### Buttons <span id="buttons"></span>
 
 In order to generate buttons you can use the following code:
 
@@ -148,7 +148,7 @@ First argument for all three methods is button title and the second one is optio
 getting data from end user, encode it with [[yii\helpers\Html::encode()|Html::encode()]].
 
 
-### Input Fields <a name="input-fields"></a>
+### Input Fields <span id="input-fields"></span>
 
 There are two groups on input methods. The ones starting with `active` and called active inputs and the ones not starting
 with it. Active inputs are taking data from model and attribute specified while in case of regular input data is specified
@@ -213,7 +213,7 @@ If not, use radio list:
 ```
 
 
-### Labels and Errors <a name="labels-and-errors"></a>
+### Labels and Errors <span id="labels-and-errors"></span>
 
 Same as inputs there are two methods for generating form labels. Active that's taking data from the model and non-active
 that accepts data directly:
@@ -236,7 +236,7 @@ To display individual error:
 ```
 
 
-### Input Names and Values <a name="input-names-and-values"></a>
+### Input Names and Values <span id="input-names-and-values"></span>
 
 There are methods to get names, ids and values for input fields based on the model. These are mainly used internally
 but could be handy sometimes:
@@ -271,7 +271,7 @@ echo Html::getAttributeName('dates[0]');
 ```
 
 
-## Styles and Scripts <a name="styles-and-scripts"></a>
+## Styles and Scripts <span id="styles-and-scripts"></span>
 
 There two methods to generate tags wrapping embedded styles and scripts:
 
@@ -319,7 +319,7 @@ Same as with CSS first argument specifies link to the file to be included. Optio
 In options you can specify `condition` in the same way as in options for `cssFile`.
 
 
-## Hyperlinks <a name="hyperlinks"></a>
+## Hyperlinks <span id="hyperlinks"></span>
 
 There's a method to generate hyperlink conveniently:
 
@@ -338,7 +338,7 @@ In you need to generate `mailto` link you can use the following code:
 ```
 
 
-## Images <a name="images"></a>
+## Images <span id="images"></span>
 
 In order to generate image tag use the following:
 
@@ -354,7 +354,7 @@ Aside [aliases](concept-aliases.md) the first argument can accept routes, parame
 [Url::to()](helper-url.md) does.
 
 
-## Lists <a name="lists"></a>
+## Lists <span id="lists"></span>
 
 Unordered list could be generated like the following:
 
diff --git a/docs/guide/helper-overview.md b/docs/guide/helper-overview.md
index 2f9a644..56b31f8 100644
--- a/docs/guide/helper-overview.md
+++ b/docs/guide/helper-overview.md
@@ -40,7 +40,7 @@ The following core helper classes are provided in the Yii releases:
 - VarDumper
 
 
-Customizing Helper Classes <a name="customizing-helper-classes"></a>
+Customizing Helper Classes <span id="customizing-helper-classes"></span>
 --------------------------
 
 To customize a core helper class (e.g. [[yii\helpers\ArrayHelper]]), you should create a new class extending
diff --git a/docs/guide/helper-url.md b/docs/guide/helper-url.md
index ce6f4c6..40a1cc6 100644
--- a/docs/guide/helper-url.md
+++ b/docs/guide/helper-url.md
@@ -4,7 +4,7 @@ Url Helper
 Url helper provides a set of static methods for managing URLs.
 
 
-## Getting Common URLs <a name="getting-common-urls"></a>
+## Getting Common URLs <span id="getting-common-urls"></span>
 
 There are two methods you can use to get common URLs: home URL and base URL of the current request. In order to get
 home URL use the following:
@@ -29,7 +29,7 @@ $httpsAbsoluteBaseUrl = Url::base('https');
 The only parameter of the method works exactly the same as for `Url::home()`.
 
 
-## Creating URLs <a name="creating-urls"></a>
+## Creating URLs <span id="creating-urls"></span>
 
 In order to create URL to a given route use `Url::toRoute()` method. The method uses [[\yii\web\UrlManager]] to create
 a URL:
@@ -147,7 +147,7 @@ echo Url::current(['id' => 100]);
 ```
 
 
-## Remember URLs <a name="remember-urls"></a>
+## Remember URLs <span id="remember-urls"></span>
 
 There are cases when you need to remember URL and afterwards use it during processing of the one of sequential requests.
 It can be achieved in the following way:
@@ -170,7 +170,7 @@ $url = Url::previous();
 $productUrl = Url::previous('product');
 ```
                         
-## Checking Relative URLs <a name="checking-relative-urls"></a>
+## Checking Relative URLs <span id="checking-relative-urls"></span>
 
 To find out if URL is relative i.e. it doesn't have host info part, you can use the following code:
                              
diff --git a/docs/guide/input-validation.md b/docs/guide/input-validation.md
index 35f3f7e..4a3e182 100644
--- a/docs/guide/input-validation.md
+++ b/docs/guide/input-validation.md
@@ -23,7 +23,7 @@ if ($model->validate()) {
 ```
 
 
-## Declaring Rules <a name="declaring-rules"></a>
+## Declaring Rules <span id="declaring-rules"></span>
 
 To make `validate()` really work, you should declare validation rules for the attributes you plan to validate.
 This should be done by overriding the [[yii\base\Model::rules()]] method. The following example shows how
@@ -95,7 +95,7 @@ an active attribute declared in `scenarios()` and is associated with one or mult
 declared in `rules()`.
 
 
-### Customizing Error Messages <a name="customizing-error-messages"></a>
+### Customizing Error Messages <span id="customizing-error-messages"></span>
 
 Most validators have default error messages that will be added to the model being validated when its attributes
 fail the validation. For example, the [[yii\validators\RequiredValidator|required]] validator will add
@@ -120,7 +120,7 @@ to describe the validation failure when the value being validated is too big and
 You may configure these error messages like configuring other properties of validators in a validation rule.
 
 
-### Validation Events <a name="validation-events"></a>
+### Validation Events <span id="validation-events"></span>
 
 When [[yii\base\Model::validate()]] is called, it will call two methods that you may override to customize
 the validation process:
@@ -134,7 +134,7 @@ the validation process:
   the validation is completed.
 
 
-### Conditional Validation <a name="conditional-validation"></a>
+### Conditional Validation <span id="conditional-validation"></span>
 
 To validate attributes only when certain conditions apply, e.g. the validation of one attribute depends
 on the value of another attribute you can use the [[yii\validators\Validator::when|when]] property
@@ -174,7 +174,7 @@ function whose return value determines whether to apply the rule or not. For exa
 ```
 
 
-### Data Filtering <a name="data-filtering"></a>
+### Data Filtering <span id="data-filtering"></span>
 
 User inputs often need to be filtered or preprocessed. For example, you may want to trim the spaces around the
 `username` input. You may use validation rules to achieve this goal.
@@ -196,7 +196,7 @@ As you can see, these validation rules do not really validate the inputs. Instea
 and save them back to the attributes being validated.
 
 
-### Handling Empty Inputs <a name="handling-empty-inputs"></a>
+### Handling Empty Inputs <span id="handling-empty-inputs"></span>
 
 When input data are submitted from HTML forms, you often need to assign some default values to the inputs
 if they are empty. You can do so by using the [default](tutorial-core-validators.md#default) validator. For example,
@@ -229,7 +229,7 @@ with a PHP callable. For example,
   `required`, and `trim` validators will handle empty inputs.
 
 
-## Ad Hoc Validation <a name="ad-hoc-validation"></a>
+## Ad Hoc Validation <span id="ad-hoc-validation"></span>
 
 Sometimes you need to do *ad hoc validation* for values that are not bound to any model.
 
@@ -298,13 +298,13 @@ You may also access the dynamic attributes defined through the model instance, e
 `$model->name` and `$model->email`.
 
 
-## Creating Validators <a name="creating-validators"></a>
+## Creating Validators <span id="creating-validators"></span>
 
 Besides using the [core validators](tutorial-core-validators.md) included in the Yii releases, you may also
 create your own validators. You may create inline validators or standalone validators.
 
 
-### Inline Validators <a name="inline-validators"></a>
+### Inline Validators <span id="inline-validators"></span>
 
 An inline validator is one defined in terms of a model method or an anonymous function. The signature of
 the method/function is:
@@ -366,7 +366,7 @@ class MyForm extends Model
 > ```
 
 
-### Standalone Validators <a name="standalone-validators"></a>
+### Standalone Validators <span id="standalone-validators"></span>
 
 A standalone validator is a class extending [[yii\validators\Validator]] or its child class. You may implement
 its validation logic by overriding the [[yii\validators\Validator::validateAttribute()]] method. If an attribute
@@ -395,7 +395,7 @@ instead of `validateAttribute()` and `validate()` because by default the latter 
 by calling `validateValue()`.
 
 
-## Client-Side Validation <a name="client-side-validation"></a>
+## Client-Side Validation <span id="client-side-validation"></span>
 
 Client-side validation based on JavaScript is desirable when end users provide inputs via HTML forms, because
 it allows users to find out input errors faster and thus provides a better user experience. You may use or implement
@@ -407,7 +407,7 @@ a validator that supports client-side validation *in addition to* server-side va
   described in the previous subsections.
 
 
-### Using Client-Side Validation <a name="using-client-side-validation"></a>
+### Using Client-Side Validation <span id="using-client-side-validation"></span>
 
 Many [core validators](tutorial-core-validators.md) support client-side validation out-of-the-box. All you need to do
 is just use [[yii\widgets\ActiveForm]] to build your HTML forms. For example, `LoginForm` below declares two
@@ -470,7 +470,7 @@ validation of individual input fields by configuring their [[yii\widgets\ActiveF
 property to be false.
 
 
-### Implementing Client-Side Validation <a name="implementing-client-side-validation"></a>
+### Implementing Client-Side Validation <span id="implementing-client-side-validation"></span>
 
 To create a validator that supports client-side validation, you should implement the
 [[yii\validators\Validator::clientValidateAttribute()]] method which returns a piece of JavaScript code
@@ -530,7 +530,7 @@ JS;
 > ]
 > ```
 
-### Deferred Validation <a name="deferred-validation"></a>
+### Deferred Validation <span id="deferred-validation"></span>
 
 If you need to perform asynchronous client-side validation, you can create [Deferred objects](http://api.jquery.com/category/deferred-object/).
 For example, to perform a custom AJAX validation, you can use the following code:
@@ -606,7 +606,7 @@ JS;
 ```
 
 
-### AJAX Validation <a name="ajax-validation"></a>
+### AJAX Validation <span id="ajax-validation"></span>
 
 Some validations can only be done on the server side, because only the server has the necessary information.
 For example, to validate if a username is unique or not, it is necessary to check the user table on the server side.
diff --git a/docs/guide/output-data-widgets.md b/docs/guide/output-data-widgets.md
index e34f4b3..eca7c62 100644
--- a/docs/guide/output-data-widgets.md
+++ b/docs/guide/output-data-widgets.md
@@ -188,7 +188,7 @@ You may specify various container HTML options by passing arrays to:
 - `filterOptions`
 - `contentOptions`
 
-#### Data column <a name="data-column"></a>
+#### Data column <span id="data-column"></span>
 
 Data column is used for displaying and sorting data. It is the default column type so the specifying class could be omitted when
 using it.
diff --git a/docs/guide/output-formatter.md b/docs/guide/output-formatter.md
index 77a7293..1036b54 100644
--- a/docs/guide/output-formatter.md
+++ b/docs/guide/output-formatter.md
@@ -57,7 +57,7 @@ echo Yii::$app->formatter->asDate('2014-01-01'); // output: 1 января 2014 
 > because intl uses a 32bit UNIX timestamp internally. On a 64bit system the intl formatter is used in all cases if installed.
 
 
-Configuring the formatter <a name="configuring-format"></a>
+Configuring the formatter <span id="configuring-format"></span>
 -------------------------
 
 The default formats used by the formatter methods can be adjusted using the properties of the [[yii\i18n\Formatter|formatter class]].
@@ -76,7 +76,7 @@ For more details about the available properties check out the [[yii\i18n\Formatt
 ],
 ```
 
-Formatting Date and Time values <a name="date-and-time"></a>
+Formatting Date and Time values <span id="date-and-time"></span>
 -------------------------------
 
 The formatter class provides different methods for formatting date and time values. These are:
@@ -114,7 +114,7 @@ echo Yii::$app->formatter->asDate('now', 'yyyy-MM-dd'); // 2014-10-06
 echo Yii::$app->formatter->asDate('now', 'php:Y-m-d'); // 2014-10-06
 ```
 
-### Time zones <a name="time-zones"></a>
+### Time zones <span id="time-zones"></span>
 
 When formatting date and time values, Yii will convert them to the [[yii\i18n\Formatter::timeZone|configured time zone]].
 Therefore the input value is assumed to be in UTC unless a time zone is explicitly given. For this reason
@@ -138,7 +138,7 @@ identifier like the second example in the code above. You can set [[yii\i18n\For
 > See also: [Setting up your PHP environment for internationalization](tutorial-i18n.md#setup-environment).
 
 
-Formatting Numbers <a name="numbers"></a>
+Formatting Numbers <span id="numbers"></span>
 ------------------
 
 For formatting numeric values the formatter class provides the following methods:
@@ -167,7 +167,7 @@ For example, to adjust the maximum and minimum value of fraction digits, you can
 ]
 ```
 
-Other formatters  <a name="other"></a>
+Other formatters  <span id="other"></span>
 ----------------
 
 In addition to date, time and number formatting, Yii provides a set of other useful formatters for different situations:
@@ -189,7 +189,7 @@ In addition to date, time and number formatting, Yii provides a set of other use
   as `Yes` and `false` as `No`, translated to the current application language. You can adjust this by configuring
   the [[yii\i18n\Formatter::booleanFormat]] property.
 
-`null`-values <a name="null-values"></a>
+`null`-values <span id="null-values"></span>
 -------------
 
 For values that are `null` in PHP, the formatter class will print a placeholder instead of an empty string which
diff --git a/docs/guide/rest-authentication.md b/docs/guide/rest-authentication.md
index 1154118..cad43cb 100644
--- a/docs/guide/rest-authentication.md
+++ b/docs/guide/rest-authentication.md
@@ -115,7 +115,7 @@ If authentication fails, a response with HTTP status 401 will be sent back toget
 (such as a `WWW-Authenticate` header for HTTP Basic Auth).
 
 
-## Authorization <a name="authorization"></a>
+## Authorization <span id="authorization"></span>
 
 After a user is authenticated, you probably want to check if he or she has the permission to perform the requested
 action for the requested resource. This process is called *authorization* which is covered in detail in
diff --git a/docs/guide/rest-controllers.md b/docs/guide/rest-controllers.md
index f84751a..518e041 100644
--- a/docs/guide/rest-controllers.md
+++ b/docs/guide/rest-controllers.md
@@ -25,7 +25,7 @@ will be described in detail in the next few sections:
 * User authorization in regarding to the requested action and resource.
 
 
-## Creating Controller Classes <a name="creating-controller"></a>
+## Creating Controller Classes <span id="creating-controller"></span>
 
 When creating a new controller class, a convention in naming the controller class is to use
 the type name of the resource and use singular form. For example, to serve user information,
@@ -45,7 +45,7 @@ public function actionView($id)
 ```
 
 
-## Filters <a name="filters"></a>
+## Filters <span id="filters"></span>
 
 Most RESTful API features provided by [[yii\rest\Controller]] are implemented in terms of [filters](structure-filters.md).
 In particular, the following filters will be executed in the order they are listed:
@@ -76,14 +76,14 @@ public function behaviors()
 ```
 
 
-## Extending `ActiveController` <a name="extending-active-controller"></a>
+## Extending `ActiveController` <span id="extending-active-controller"></span>
 
 If your controller class extends from [[yii\rest\ActiveController]], you should set
 its [[yii\rest\ActiveController::modelClass||modelClass]] property to be the name of the resource class
 that you plan to serve through this controller. The class must extend from [[yii\db\ActiveRecord]].
 
 
-### Customizing Actions <a name="customizing-actions"></a>
+### Customizing Actions <span id="customizing-actions"></span>
 
 By default, [[yii\rest\ActiveController]] provides the following actions:
 
@@ -120,7 +120,7 @@ public function prepareDataProvider()
 Please refer to the class references for individual action classes to learn what configuration options are available.
 
 
-### Performing Access Check <a name="performing-access-check"></a>
+### Performing Access Check <span id="performing-access-check"></span>
 
 When exposing resources through RESTful APIs, you often need to check if the current user has the permission
 to access and manipulate the requested resource(s). With [[yii\rest\ActiveController]], this can be done
diff --git a/docs/guide/rest-error-handling.md b/docs/guide/rest-error-handling.md
index 0f7ab50..12e7a10 100644
--- a/docs/guide/rest-error-handling.md
+++ b/docs/guide/rest-error-handling.md
@@ -43,7 +43,7 @@ The following list summarizes the HTTP status code that are used by the Yii REST
 * `500`: Internal server error. This could be caused by internal program errors.
 
 
-## Customizing Error Response <a name="customizing-error-response"></a>
+## Customizing Error Response <span id="customizing-error-response"></span>
 
 Sometimes you may want to customize the default error response format. For example, instead of relying on
 using different HTTP statuses to indicate different errors, you would like to always use 200 as HTTP status
diff --git a/docs/guide/rest-quick-start.md b/docs/guide/rest-quick-start.md
index 1f4e82a..1b1e71b 100644
--- a/docs/guide/rest-quick-start.md
+++ b/docs/guide/rest-quick-start.md
@@ -22,7 +22,7 @@ Assume you want to expose the user data via RESTful APIs. The user data are stor
 and you have already created the [[yii\db\ActiveRecord|ActiveRecord]] class `app\models\User` to access the user data.
 
 
-## Creating a Controller <a name="creating-controller"></a>
+## Creating a Controller <span id="creating-controller"></span>
 
 First, create a controller class `app\controllers\UserController` as follows,
 
@@ -41,7 +41,7 @@ The controller class extends from [[yii\rest\ActiveController]]. By specifying [
 as `app\models\User`, the controller knows what model can be used for fetching and manipulating data.
 
 
-## Configuring URL Rules <a name="configuring-url-rules"></a>
+## Configuring URL Rules <span id="configuring-url-rules"></span>
 
 Then, modify the configuration about the `urlManager` component in your application configuration:
 
@@ -60,7 +60,7 @@ The above configuration mainly adds a URL rule for the `user` controller so that
 can be accessed and manipulated with pretty URLs and meaningful HTTP verbs.
 
 
-## Enabling JSON Input <a name="enabling-json-input"></a>
+## Enabling JSON Input <span id="enabling-json-input"></span>
 
 To let the API accept input data in JSON format, configure the [[yii\web\Request::$parsers|parsers]] property of
 the `request` application component to use the [[yii\web\JsonParser]] for JSON input:
@@ -77,7 +77,7 @@ the `request` application component to use the [[yii\web\JsonParser]] for JSON i
   `application/x-www-form-urlencoded` and `multipart/form-data` input formats.
 
 
-## Trying it Out <a name="trying-it-out"></a>
+## Trying it Out <span id="trying-it-out"></span>
 
 With the above minimal amount of effort, you have already finished your task of creating the RESTful APIs
 for accessing the user data. The APIs you have created include:
@@ -187,7 +187,7 @@ For example, the URL `http://localhost/users?fields=id,email` will only return t
 > You can and should filter out these fields as described in the [Response Formatting](rest-response-formatting.md) section.
 
 
-## Summary <a name="summary"></a>
+## Summary <span id="summary"></span>
 
 Using the Yii RESTful API framework, you implement an API endpoint in terms of a controller action, and you use
 a controller to organize the actions that implement the endpoints for a single type of resource.
diff --git a/docs/guide/rest-resources.md b/docs/guide/rest-resources.md
index 37a4705..ea276fb 100644
--- a/docs/guide/rest-resources.md
+++ b/docs/guide/rest-resources.md
@@ -20,7 +20,7 @@ can specify what data may be returned via RESTful APIs. If the resource class do
 then all its public member variables will be returned.
 
 
-## Fields <a name="fields"></a>
+## Fields <span id="fields"></span>
 
 When including a resource in a RESTful API response, the resource needs to be serialized into a string.
 Yii breaks this process into two steps. First, the resource is converted into an array by [[yii\rest\Serializer]].
@@ -49,7 +49,7 @@ http://localhost/users?fields=id,email&expand=profile
 ```
 
 
-### Overriding `fields()` <a name="overriding-fields"></a>
+### Overriding `fields()` <span id="overriding-fields"></span>
 
 By default, [[yii\base\Model::fields()]] returns all model attributes as fields, while
 [[yii\db\ActiveRecord::fields()]] only returns the attributes which have been populated from DB.
@@ -96,7 +96,7 @@ public function fields()
 > to filter out `auth_key`, `password_hash` and `password_reset_token`.
 
 
-### Overriding `extraFields()` <a name="overriding-extra-fields"></a>
+### Overriding `extraFields()` <span id="overriding-extra-fields"></span>
 
 By default, [[yii\base\Model::extraFields()]] returns nothing, while [[yii\db\ActiveRecord::extraFields()]]
 returns the names of the relations that have been populated from DB.
@@ -134,7 +134,7 @@ the request with `http://localhost/users?fields=id,email&expand=profile` may ret
 ```
 
 
-## Links <a name="links"></a>
+## Links <span id="links"></span>
 
 [HATEOAS](http://en.wikipedia.org/wiki/HATEOAS), an abbreviation for Hypermedia as the Engine of Application State,
 promotes that RESTful APIs should return information that allow clients to discover actions supported for the returned
@@ -177,7 +177,7 @@ to the user, for example,
 ```
 
 
-## Collections <a name="collections"></a>
+## Collections <span id="collections"></span>
 
 Resource objects can be grouped into *collections*. Each collection contains a list of resource objects
 of the same type.
diff --git a/docs/guide/rest-response-formatting.md b/docs/guide/rest-response-formatting.md
index 0a41704..a88304d 100644
--- a/docs/guide/rest-response-formatting.md
+++ b/docs/guide/rest-response-formatting.md
@@ -13,7 +13,7 @@ with response formatting:
    the [[yii\web\Response::formatters|response]] application component.
 
 
-## Content Negotiation <a name="content-negotiation"></a>
+## Content Negotiation <span id="content-negotiation"></span>
 
 Yii supports content negotiation via the [[yii\filters\ContentNegotiator]] filter. The RESTful API base
 controller class [[yii\rest\Controller]] is equipped with this filter under the name of `contentNegotiator`.
@@ -81,7 +81,7 @@ The keys of the `formats` property are the supported MIME types, while the value
 response format names which must be supported in [[yii\web\Response::formatters]].
 
 
-## Data Serializing <a name="data-serializing"></a>
+## Data Serializing <span id="data-serializing"></span>
 
 As we have described above, [[yii\rest\Serializer]] is the central piece responsible for converting resource
 objects or collections into arrays. It recognizes objects implementing [[yii\base\ArrayableInterface]] as
diff --git a/docs/guide/runtime-handling-errors.md b/docs/guide/runtime-handling-errors.md
index 560a2b2..a662a92 100644
--- a/docs/guide/runtime-handling-errors.md
+++ b/docs/guide/runtime-handling-errors.md
@@ -14,7 +14,7 @@ The [[yii\web\ErrorHandler|error handler]] is enabled by default. You may disabl
 `YII_ENABLE_ERROR_HANDLER` to be false in the [entry script](structure-entry-scripts.md) of your application.
 
 
-## Using Error Handler <a name="using-error-handler"></a>
+## Using Error Handler <span id="using-error-handler"></span>
 
 The [[yii\web\ErrorHandler|error handler]] is registered as an [application component](structure-application-components.md) named `errorHandler`.
 You may configure it in the application configuration like the following:
@@ -59,7 +59,7 @@ throw new NotFoundHttpException();
 ```
 
 
-## Customizing Error Display <a name="customizing-error-display"></a>
+## Customizing Error Display <span id="customizing-error-display"></span>
 
 The [[yii\web\ErrorHandler|error handler]] adjusts the error display according to the value of the constant `YII_DEBUG`.
 When `YII_DEBUG` is true (meaning in debug mode), the error handler will display exceptions with detailed call
@@ -80,7 +80,7 @@ You can configure the [[yii\web\ErrorHandler::errorView|errorView]] and [[yii\we
 properties of the error handler to use your own views to customize the error display.
 
 
-### Using Error Actions <a name="using-error-actions"></a>
+### Using Error Actions <span id="using-error-actions"></span>
 
 A better way of customizing the error display is to use dedicated error [actions](structure-controllers.md).
 To do so, first configure the [[yii\web\ErrorHandler::errorAction|errorAction]] property of the `errorHandler`
@@ -148,7 +148,7 @@ the following variables if the error action is defined as [[yii\web\ErrorAction]
 the error action and the error view are already defined for you.
 
 
-### Customizing Error Response Format <a name="error-format"></a>
+### Customizing Error Response Format <span id="error-format"></span>
 
 The error handler displays errors according to the format setting of the [response](runtime-responses.md).
 If the the [[yii\web\Response::format|response format]] is `html`, it will use the error or exception view
diff --git a/docs/guide/runtime-logging.md b/docs/guide/runtime-logging.md
index ee3da15..ebfd053 100644
--- a/docs/guide/runtime-logging.md
+++ b/docs/guide/runtime-logging.md
@@ -14,7 +14,7 @@ Using the Yii logging framework involves the following steps:
 In this section, we will mainly describe the first two steps.
 
 
-## Log Messages <a name="log-messages"></a>
+## Log Messages <span id="log-messages"></span>
 
 Recording log messages is as simple as calling one of the following logging methods:
 
@@ -56,7 +56,7 @@ enough messages are logged or when the application ends, the logger object will 
 [[yii\log\Dispatcher|message dispatcher]] to send recorded log messages to the registered [log targets](#log-targets).
 
 
-## Log Targets <a name="log-targets"></a>
+## Log Targets <span id="log-targets"></span>
 
 A log target is an instance of the [[yii\log\Target]] class or its child class. It filters the log messages by their
 severity levels and categories and then exports them to some medium. For example, a [[yii\log\DbTarget|database target]]
@@ -114,7 +114,7 @@ learn how to configure and use them.
 In the following, we will describe the features common to all log targets.
 
   
-### Message Filtering <a name="message-filtering"></a>
+### Message Filtering <span id="message-filtering"></span>
 
 For each log target, you can configure its [[yii\log\Target::levels|levels]] and 
 [[yii\log\Target::categories|categories]] properties to specify which severity levels and categories of the messages the target should process.
@@ -167,7 +167,7 @@ under the categories whose names match either `yii\db\*` or `yii\web\HttpExcepti
   the [[yii\web\NotFoundHttpException]] will cause an error message of category `yii\web\HttpException:404`.
 
 
-### Message Formatting <a name="message-formatting"></a>
+### Message Formatting <span id="message-formatting"></span>
 
 Log targets export the filtered log messages in a certain format. For example, if you install
 a log target of the class [[yii\log\FileTarget]], you may find a log message similar to the following in the
@@ -216,7 +216,7 @@ Or if you want to implement your own way of providing context information, you m
 [[yii\log\Target::getContextMessage()]] method.
 
 
-### Message Trace Level <a name="trace-level"></a>
+### Message Trace Level <span id="trace-level"></span>
 
 During development, it is often desirable to see where each log message is coming from. This can be achieved by
 configuring the [[yii\log\Dispatcher::traceLevel|traceLevel]] property of the `log` component like the following:
@@ -242,7 +242,7 @@ will be included.
 or when debugging an application.
 
 
-### Message Flushing and Exporting <a name="flushing-exporting"></a>
+### Message Flushing and Exporting <span id="flushing-exporting"></span>
 
 As aforementioned, log messages are maintained in an array by the [[yii\log\Logger|logger object]]. To limit the
 memory consumption by this array, the logger will flush the recorded messages to the [log targets](#log-targets)
@@ -302,7 +302,7 @@ return [
 > Note: Frequent message flushing and exporting will degrade the performance of your application.
 
 
-### Toggling Log Targets <a name="toggling-log-targets"></a>
+### Toggling Log Targets <span id="toggling-log-targets"></span>
 
 You can enable or disable a log target by configuring its [[yii\log\Target::enabled|enabled]] property.
 You may do so via the log target configuration or by the following PHP statement in your code:
@@ -333,7 +333,7 @@ return [
 ```
 
 
-### Creating New Targets <a name="new-targets"></a>
+### Creating New Targets <span id="new-targets"></span>
 
 Creating a new log target class is very simple. You mainly need to implement the [[yii\log\Target::export()]] method
 sending the content of the [[yii\log\Target::messages]] array to a designated medium. You may call the
@@ -341,7 +341,7 @@ sending the content of the [[yii\log\Target::messages]] array to a designated me
 log target classes included in the Yii release.
 
 
-## Performance Profiling <a name="performance-profiling"></a>
+## Performance Profiling <span id="performance-profiling"></span>
 
 Performance profiling is a special type of message logging that is used to measure the time taken by certain
 code blocks and find out what are the performance bottlenecks. For example, the [[yii\db\Command]] class uses
diff --git a/docs/guide/runtime-requests.md b/docs/guide/runtime-requests.md
index 07d3e6d..ef98c1f 100644
--- a/docs/guide/runtime-requests.md
+++ b/docs/guide/runtime-requests.md
@@ -7,7 +7,7 @@ request object via the `request` [application component](structure-application-c
 of [[yii\web\Request]], by default. In this section, we will describe how you can make use of this component in your applications.
 
 
-## Request Parameters <a name="request-parameters"></a>
+## Request Parameters <span id="request-parameters"></span>
 
 To get request parameters, you can call [[yii\web\Request::get()|get()]] and [[yii\web\Request::post()|post()]] methods
 of the `request` component. They return the values of `$_GET` and `$_POST`, respectively. For example,
@@ -57,7 +57,7 @@ $param = $request->getBodyParam('id');
   You can customize the way how these parameters are parsed by configuring the [[yii\web\Request::parsers]] property.
   
 
-## Request Methods <a name="request-methods"></a>
+## Request Methods <span id="request-methods"></span>
 
 You can get the HTTP method used by the current request via the expression `Yii::$app->request->method`.
 A whole set of boolean properties are also provided for you to check if the current method is of certain type.
@@ -72,7 +72,7 @@ if ($request->isPost) { // the request method is POST }
 if ($request->isPut)  { // the request method is PUT }
 ```
 
-## Request URLs <a name="request-urls"></a>
+## Request URLs <span id="request-urls"></span>
 
 The `request` component provides many ways of inspecting the currently requested URL. 
 
@@ -93,7 +93,7 @@ parts of this URL as summarized in the following:
 * [[yii\web\Request::serverPort|serverPort]]: returns 80, which is the port used by the Web server.
 
 
-## HTTP Headers <a name="http-headers"></a> 
+## HTTP Headers <span id="http-headers"></span> 
 
 You can get the HTTP header information through the [[yii\web\HeaderCollection|header collection]] returned 
 by the [[yii\web\Request::headers]] property. For example,
@@ -128,7 +128,7 @@ and returns the most appropriate language.
   on top of the properties and methods described above.
 
 
-## Client Information <a name="client-information"></a>
+## Client Information <span id="client-information"></span>
 
 You can get the host name and IP address of the client machine through [[yii\web\Request::userHost|userHost]]
 and [[yii\web\Request::userIP|userIP]], respectively. For example,
diff --git a/docs/guide/runtime-responses.md b/docs/guide/runtime-responses.md
index ab0b272..f4a0b90 100644
--- a/docs/guide/runtime-responses.md
+++ b/docs/guide/runtime-responses.md
@@ -12,7 +12,7 @@ objects and send them to end users as we will explain in the following.
 In this section, we will describe how to compose and send responses to end users. 
 
 
-## Status Code <a name="status-code"></a>
+## Status Code <span id="status-code"></span>
 
 One of the first things you would do when building a response is to state whether the request is successfully handled.
 This is done by setting the [[yii\web\Response::statusCode]] property which can take one of the valid
@@ -55,7 +55,7 @@ throw new \yii\web\HttpException(402);
 ```
 
 
-## HTTP Headers <a name="http-headers"></a> 
+## HTTP Headers <span id="http-headers"></span> 
 
 You can send HTTP headers by manipulating the [[yii\web\Response::headers|header collection]] in the `response` component.
 For example,
@@ -77,7 +77,7 @@ $values = $headers->remove('Pragma');
   the [[yii\web\Response::send()]] method is called.
 
 
-## Response Body <a name="response-body"></a>
+## Response Body <span id="response-body"></span>
 
 Most responses should have a body which gives the content that you want to show to end users.
 
@@ -157,7 +157,7 @@ public function actionInfo()
   [dependency injection](concept-di-container.md) to apply a common configuration to your new response objects.
 
 
-## Browser Redirection <a name="browser-redirection"></a>
+## Browser Redirection <span id="browser-redirection"></span>
 
 Browser redirection relies on sending a `Location` HTTP header. Because this feature is commonly used, Yii provides
 some special support for it.
@@ -197,7 +197,7 @@ redirect the browser accordingly.
   (by registering the [[yii\web\YiiAsset]] asset bundle), you do not need to write anything to support AJAX redirection.
 
 
-## Sending Files <a name="sending-files"></a>
+## Sending Files <span id="sending-files"></span>
 
 Like browser redirection, file sending is another feature that relies on specific HTTP headers. Yii provides
 a set of methods to support various file sending needs. They all have built-in support for the HTTP range header.
@@ -237,7 +237,7 @@ for some popular Web servers:
 - Cherokee: [X-Sendfile and X-Accel-Redirect](http://www.cherokee-project.com/doc/other_goodies.html#x-sendfile)
 
 
-## Sending Response <a name="sending-response"></a>
+## Sending Response <span id="sending-response"></span>
 
 The content in a response is not sent to the user until the [[yii\web\Response::send()]] method is called.
 By default, this method will be called automatically at the end of [[yii\base\Application::run()]]. You can, however,
diff --git a/docs/guide/runtime-routing.md b/docs/guide/runtime-routing.md
index e8d36a8..2a88ad7 100644
--- a/docs/guide/runtime-routing.md
+++ b/docs/guide/runtime-routing.md
@@ -36,7 +36,7 @@ And if the created URL is requested later, it will still be parsed back into the
 ```
 
 
-## URL Formats <a name="url-formats"></a>
+## URL Formats <span id="url-formats"></span>
 
 The [[yii\web\UrlManager|URL manager]] supports two URL formats: the default URL format and the pretty URL format.
 
@@ -55,7 +55,7 @@ You may switch between the two URL formats by toggling the [[yii\web\UrlManager:
 property of the [[yii\web\UrlManager|URL manager]] without changing any other application code.
 
 
-## Routing <a name="routing"></a>
+## Routing <span id="routing"></span>
 
 Routing involves two steps. In the first step, the incoming request is parsed into a route and the associated 
 query parameters. In the second step, a [controller action](structure-controllers.md) corresponding to the parsed route
@@ -91,7 +91,7 @@ Among the above steps, if any error occurs, a [[yii\web\NotFoundHttpException]] 
 the failure of the routing process.
 
 
-### Default Route <a name="default-route"></a>
+### Default Route <span id="default-route"></span>
 
 When a request is parsed into an empty route, the so-called *default route* will be used, instead. By default,
 the default route is `site/index`,  which refers to the `index` action of the `site` controller. You may 
@@ -106,7 +106,7 @@ in the application configuration like the following:
 ```
 
 
-### `catchAll` Route <a name="catchall-route"></a>
+### `catchAll` Route <span id="catchall-route"></span>
 
 Sometimes, you may want to put your Web application in maintenance mode temporarily and display the same
 informational page for all requests. There are many ways to accomplish this goal. But one of the simplest
@@ -125,7 +125,7 @@ The `catchAll` property should take an array whose first element specifies a rou
 the rest of the elements (name-value pairs) specify the parameters to be [bound to the action](structure-controllers.md#action-parameters).
 
 
-## Creating URLs <a name="creating-urls"></a>
+## Creating URLs <span id="creating-urls"></span>
 
 Yii provides a helper method [[yii\helpers\Url::to()]] to create various kinds of URLs from given routes and 
 their associated query parameters. For example,
@@ -230,7 +230,7 @@ echo Url::previous();
 ```
 
 
-## Using Pretty URLs <a name="using-pretty-urls"></a>
+## Using Pretty URLs <span id="using-pretty-urls"></span>
 
 To use pretty URLs, configure the `urlManager` component in the application configuration like the following:
 
@@ -271,7 +271,7 @@ The rest of the properties are optional. However, their configuration shown abov
   [Installation](start-installation.md#recommended-apache-configuration) section.
 
 
-### URL Rules <a name="url-rules"></a>
+### URL Rules <span id="url-rules"></span>
 
 A URL rule is an instance of [[yii\web\UrlRule]] or its child class. Each URL rule consists of a pattern used 
 for matching the path info part of URLs, a route, and a few query parameters. A URL rule can be used to parse a request
@@ -322,7 +322,7 @@ By default if you do not specify the `class` option for a rule configuration, it
 class [[yii\web\UrlRule]].
 
 
-### Named Parameters <a name="named-parameters"></a>
+### Named Parameters <span id="named-parameters"></span>
 
 A URL rule can be associated with a few named query parameters which are specified in the pattern in the format
 of `<ParamName:RegExp>`, where `ParamName` specifies the parameter name and `RegExp` is an optional regular 
@@ -370,7 +370,7 @@ And when the rules are used to create URLs:
   and all parameters as the query string part.
    
 
-### Parameterizing Routes <a name="parameterizing-routes"></a>
+### Parameterizing Routes <span id="parameterizing-routes"></span>
 
 You can embed parameter names in the route of a URL rule. This allows a URL rule to be used for matching multiple 
 routes. For example, the following rules embed `controller` and `action` parameters in the routes.
@@ -420,7 +420,7 @@ The above rule can be used to parse or create any of the following URLs:
 Without using optional parameters, you would have to create 4 rules to achieve the same result.
 
 
-### Rules with Server Names <a name="rules-with-server-names"></a>
+### Rules with Server Names <span id="rules-with-server-names"></span>
 
 It is possible to include Web server names in the patterns of URL rules. This is mainly useful when your application 
 should behave differently for different Web server names. For example, the following rules will parse the URL 
@@ -447,7 +447,7 @@ will parse the URL `http://en.example.com/posts` into the route `post/index` and
   to be deployed under any directory without the need to change your application code.
 
 
-### URL Suffixes <a name="url-suffixes"></a>
+### URL Suffixes <span id="url-suffixes"></span>
 
 You may want to add suffixes to the URLs for various purposes. For example, you may add `.html` to the URLs so that they
 look like URLs for static HTML pages; you may also add `.json` to the URLs to indicate the expected content type
@@ -505,7 +505,7 @@ contains a customized URL rule which uses `.json` as its suffix instead of the g
 ```
 
 
-### HTTP Methods <a name="http-methods"></a>
+### HTTP Methods <span id="http-methods"></span>
 
 When implementing RESTful APIs, it is commonly needed that the same URL be parsed into different routes according to
 the HTTP methods being used. This can be easily achieved by prefixing the supported HTTP methods to the patterns of
@@ -529,7 +529,7 @@ be parsed into `post/create`, while a request for `GET post/100` will be parsed 
   For more details, please refer to the [Routing](rest-routing.md) section about developing RESTful APIs.
 
 
-### Customizing Rules <a name="customizing-rules"></a>
+### Customizing Rules <span id="customizing-rules"></span>
 
 In the previous examples, URL rules are mainly declared in terms of pattern-route pairs. This is a commonly used
 shortcut format. In certain scenarios, you may want to customize a URL rule by configuring its other properties, such
@@ -552,7 +552,7 @@ example is extracted from the [URL Suffixes](#url-suffixes) subsection,
   class [[yii\web\UrlRule]].
   
 
-### Adding Rules Dynamically <a name="adding-rules"></a>
+### Adding Rules Dynamically <span id="adding-rules"></span>
 
 URL rules can be dynamically added to the [[yii\web\UrlManager|URL manager]]. This is often needed by redistributable 
 [modules](structure-modules.md) which want to manage their own URL rules. In order for the dynamically added rules
@@ -573,7 +573,7 @@ Note that you should also list these modules in [[yii\web\Application::bootstrap
 [bootstrapping](runtime-bootstrapping.md) process.
 
 
-### Creating Rule Classes <a name="creating-rules"></a>
+### Creating Rule Classes <span id="creating-rules"></span>
 
 Despite the fact that the default [[yii\web\UrlRule]] class is flexible enough for the majority of projects, there 
 are situations when you have to create your own rule classes. For example, in a car dealer Web site, you may want 
@@ -631,7 +631,7 @@ And use the new rule class in the [[yii\web\UrlManager::rules]] configuration:
 ```
 
 
-## Performance Consideration <a name="performance-consideration"></a>
+## Performance Consideration <span id="performance-consideration"></span>
 
 When developing a complex Web application, it is important to optimize URL rules so that it takes less time to parse
 requests and create URLs.
diff --git a/docs/guide/runtime-sessions-cookies.md b/docs/guide/runtime-sessions-cookies.md
index 70f725a..68f7a42 100644
--- a/docs/guide/runtime-sessions-cookies.md
+++ b/docs/guide/runtime-sessions-cookies.md
@@ -6,14 +6,14 @@ through the global variables `$_SESSION` and `$_COOKIE`, respectively. Yii encap
 and thus allows you to access them in an object-oriented fashion with additional useful enhancements.
 
 
-## Sessions <a name="sessions"></a>
+## Sessions <span id="sessions"></span>
 
 Like [requests](runtime-requests.md) and [responses](runtime-responses.md), you can get access to sessions via
 the `session` [application component](structure-application-components.md) which is an instance of [[yii\web\Session]],
 by default.
 
 
-### Opening and Closing Sessions <a name="opening-closing-sessions"></a>
+### Opening and Closing Sessions <span id="opening-closing-sessions"></span>
 
 To open and close a session, you can do the following:
 
@@ -37,7 +37,7 @@ You can call [[yii\web\Session::open()|open()]] and [[yii\web\Session::close()|c
 without causing errors; internally the methods will first check if the session is already open.
 
 
-### Accessing Session Data <a name="access-session-data"></a>
+### Accessing Session Data <span id="access-session-data"></span>
 
 To access the data stored in session, you can do the following:
 
@@ -124,7 +124,7 @@ an array as a single session variable, you store each array element as a session
 key prefix with other array elements.
 
 
-### Custom Session Storage <a name="custom-session-storage"></a>
+### Custom Session Storage <span id="custom-session-storage"></span>
 
 The default [[yii\web\Session]] class stores session data as files on the server. Yii also provides the following
 session classes implementing different session storage:
@@ -179,7 +179,7 @@ where 'BLOB' refers to the BLOB-type of your preferred DBMS. Below are the BLOB 
   length 64 instead of 40.
 
 
-### Flash Data <a name="flash-data"></a>
+### Flash Data <span id="flash-data"></span>
 
 Flash data is a special kind of session data which, once set in one request, will only be available during
 the next request and will be automatically deleted afterwards. Flash data is most commonly used to implement
@@ -231,7 +231,7 @@ $alerts = $session->getFlash('alerts');
   the invocation of these two methods.
 
 
-## Cookies <a name="cookies"></a>
+## Cookies <span id="cookies"></span>
 
 Yii represents each cookie as an object of [[yii\web\Cookie]]. Both [[yii\web\Request]] and [[yii\web\Response]]
 maintain a collection of cookies via the property named `cookies`. The cookie collection in the former represents
@@ -239,7 +239,7 @@ the cookies submitted in a request, while the cookie collection in the latter re
 be sent to the user.
 
 
-### Reading Cookies <a name="reading-cookies"></a>
+### Reading Cookies <span id="reading-cookies"></span>
 
 You can get the cookies in the current request using the following code:
 
@@ -266,7 +266,7 @@ if (isset($cookies['language'])) ...
 ```
 
 
-### Sending Cookies <a name="sending-cookies"></a>
+### Sending Cookies <span id="sending-cookies"></span>
 
 You can send cookies to end users using the following code:
 
@@ -296,7 +296,7 @@ the risk of a client side script accessing the protected cookie (if the browser 
 the [httpOnly wiki article](https://www.owasp.org/index.php/HttpOnly) for more details.
 
 
-### Cookie Validation <a name="cookie-validation"></a>
+### Cookie Validation <span id="cookie-validation"></span>
 
 When you are reading and sending cookies through the `request` and `response` components as shown in the last
 two subsections, you enjoy the added security of cookie validation which protects cookies from being modified
diff --git a/docs/guide/start-databases.md b/docs/guide/start-databases.md
index c9e7e27..57c301b 100644
--- a/docs/guide/start-databases.md
+++ b/docs/guide/start-databases.md
@@ -17,7 +17,7 @@ Note that in order to finish this section, you should have basic knowledge and e
 In particular, you should know how to create a database, and how to execute SQL statements using a DB client tool.
 
 
-Preparing the Database <a name="preparing-database"></a>
+Preparing the Database <span id="preparing-database"></span>
 ----------------------
 
 To begin, create a database named `yii2basic`, from which you will fetch data in your application.
@@ -46,7 +46,7 @@ INSERT INTO `country` VALUES ('US','United States',278357000);
 
 At this point, you have a database named `yii2basic`, and within it a `country` table with three columns, containing ten rows of data.
 
-Configuring a DB Connection <a name="configuring-db-connection"></a>
+Configuring a DB Connection <span id="configuring-db-connection"></span>
 ---------------------------
 
 Before proceeding, make sure you have installed both the [PDO](http://www.php.net/manual/en/book.pdo.php) PHP extension and
@@ -79,7 +79,7 @@ The DB connection configured above can be accessed in the application code via t
   For more information, please refer to the [Configurations](concept-configurations.md) section.
 
 
-Creating an Active Record <a name="creating-active-record"></a>
+Creating an Active Record <span id="creating-active-record"></span>
 -------------------------
 
 To represent and fetch the data in the `country` table, create an [Active Record](db-active-record.md)-derived
@@ -126,7 +126,7 @@ $country->save();
 You may find more detailed information in the [Active Record](db-active-record.md) section. Alternatively, you may also interact with a database using a lower-level data accessing method called [Data Access Objects](db-dao.md).
 
 
-Creating an Action <a name="creating-action"></a>
+Creating an Action <span id="creating-action"></span>
 ------------------
 
 To expose the country data to end users, you need to create a new action. Instead of placing the new action in the `site`
@@ -182,7 +182,7 @@ At the end of the code, the `index` action renders a view named `index`, and pas
 information to it.
 
 
-Creating a View <a name="creating-view"></a>
+Creating a View <span id="creating-view"></span>
 ---------------
 
 Under the `views` directory, first create a sub-directory named `country`. This folder will be used to hold all the
@@ -213,7 +213,7 @@ The `LinkPager` widget displays a list of page buttons. Clicking on any of them 
 in the corresponding page.
 
 
-Trying it Out <a name="trying-it-out"></a>
+Trying it Out <span id="trying-it-out"></span>
 -------------
 
 To see how all of the above code works, use your browser to access the following URL:
@@ -245,7 +245,7 @@ Behind the scenes, [[yii\data\Pagination|Pagination]] is providing all of the ne
   for display.
 
 
-Summary <a name="summary"></a>
+Summary <span id="summary"></span>
 -------
 
 In this section, you learned how to work with a database. You also learned how to fetch and display
diff --git a/docs/guide/start-forms.md b/docs/guide/start-forms.md
index 1c06cde..df16c9c 100644
--- a/docs/guide/start-forms.md
+++ b/docs/guide/start-forms.md
@@ -15,7 +15,7 @@ Through this tutorial, you will learn how to:
 * Build an HTML form in a [view](structure-views.md)
 
 
-Creating a Model <a name="creating-model"></a>
+Creating a Model <span id="creating-model"></span>
 ----------------
 
 The data to be requested from the user will be represented by an `EntryForm` model class as shown below and
@@ -76,7 +76,7 @@ if ($model->validate()) {
 ```
 
 
-Creating an Action <a name="creating-action"></a>
+Creating an Action <span id="creating-action"></span>
 ------------------
 
 Next, you'll need to create an `entry` action in the `site` controller that will use the new model. The process
@@ -132,7 +132,7 @@ be rendered, wherein the HTML form will be shown, along with any validation erro
   to avoid [form resubmission problems](http://en.wikipedia.org/wiki/Post/Redirect/Get).
 
 
-Creating Views <a name="creating-views"></a>
+Creating Views <span id="creating-views"></span>
 --------------
 
 Finally, create two view files named `entry-confirm` and `entry`. These will be rendered by the `entry` action,
@@ -180,7 +180,7 @@ and the second for the "email" data. After the input fields, the [[yii\helpers\H
 is called to generate a submit button.
 
 
-Trying it Out <a name="trying-it-out"></a>
+Trying it Out <span id="trying-it-out"></span>
 -------------
 
 To see how it works, use your browser to access the following URL:
@@ -201,7 +201,7 @@ displaying the data that you just entered.
 
 
 
-### Magic Explained <a name="magic-explained"></a>
+### Magic Explained <span id="magic-explained"></span>
 
 You may wonder how the HTML form works behind the scene, because it seems almost magical that it can
 display a label for each input field and show error messages if you do not enter the data correctly
@@ -232,7 +232,7 @@ the following code:
   view code into reusable widgets to simplify view development in future.
 
 
-Summary <a name="summary"></a>
+Summary <span id="summary"></span>
 -------
 
 In this section of the guide, you have touched every part in the MVC design pattern. You have learned how
diff --git a/docs/guide/start-gii.md b/docs/guide/start-gii.md
index ba0596b..45f84d3 100644
--- a/docs/guide/start-gii.md
+++ b/docs/guide/start-gii.md
@@ -12,7 +12,7 @@ Through this tutorial, you will learn how to:
 * Customize the code generated by Gii
 
 
-Starting Gii <a name="starting-gii"></a>
+Starting Gii <span id="starting-gii"></span>
 ------------
 
 [Gii](tool-gii.md) is provided in Yii as a [module](structure-modules.md). You can enable Gii
@@ -56,7 +56,7 @@ http://hostname/index.php?r=gii
 ![Gii](images/start-gii.png)
 
 
-Generating an Active Record Class <a name="generating-ar"></a>
+Generating an Active Record Class <span id="generating-ar"></span>
 ---------------------------------
 
 To use Gii to generate an Active Record class, select the "Model Generator" (by clicking the link on the Gii index page). Then fill out the form as follows:
@@ -80,7 +80,7 @@ Next, you will see
 a confirmation page indicating the code has been successfully generated. If you had an existing file, you'll also see a message indicating that it was overwritten with the newly generated code.
 
 
-Generating CRUD Code <a name="generating-crud"></a>
+Generating CRUD Code <span id="generating-crud"></span>
 --------------------
 
 CRUD stands for Create, Read, Update, and Delete, representing the four common tasks taken with data on most Web sites. To create CRUD functionality using Gii, select the "CRUD Generator" (by clicking the link on the Gii index page). For the "country" example, fill out the resulting form as follows:
@@ -99,7 +99,7 @@ If you previously created the `controllers/CountryController.php` and
 `views/country/index.php` files (in the databases section of the guide), check the "overwrite" box to replace them. (The previous versions did not have full CRUD support.)
 
 
-Trying it Out <a name="trying-it-out"></a>
+Trying it Out <span id="trying-it-out"></span>
 -------------
 
 To see how it works, use your browser to access the following URL:
@@ -130,7 +130,7 @@ or to customize them:
   the [Gii](tool-gii.md) section.
 
 
-Summary <a name="summary"></a>
+Summary <span id="summary"></span>
 -------
 
 In this section, you have learned how to use Gii to generate the code that implements complete
diff --git a/docs/guide/start-hello.md b/docs/guide/start-hello.md
index 4cd9bc8..8767b6d 100644
--- a/docs/guide/start-hello.md
+++ b/docs/guide/start-hello.md
@@ -15,7 +15,7 @@ Through this tutorial, you will learn three things:
 3. how an application dispatches requests to [actions](structure-controllers.md#creating-actions).
 
 
-Creating an Action <a name="creating-action"></a>
+Creating an Action <span id="creating-action"></span>
 ------------------
 
 For the "Hello" task, you will create a `say` [action](structure-controllers.md#creating-actions) that reads
@@ -70,7 +70,7 @@ so that it can be used there. The rendering result is returned by the action met
 by the application and displayed to the end user in the browser (as part of a complete HTML page). 
 
 
-Creating a View <a name="creating-view"></a>
+Creating a View <span id="creating-view"></span>
 ---------------
 
 [Views](structure-views.md) are scripts you write to generate a response's content.
@@ -96,7 +96,7 @@ In fact, the `say` view is just a PHP script that is executed by the [[yii\web\C
 The content printed by the view script will be returned to the application as the response's result. The application will in turn output this result to the end user.
 
 
-Trying it Out <a name="trying-it-out"></a>
+Trying it Out <span id="trying-it-out"></span>
 -------------
 
 After creating the action and the view, you may access the new page by accessing the following URL:
@@ -131,7 +131,7 @@ the `SiteController::actionSay()` method will be called to handle the request.
   to the controller class name `PostCommentController`.
 
 
-Summary <a name="summary"></a>
+Summary <span id="summary"></span>
 -------
 
 In this section, you have touched the controller and view parts of the MVC design pattern.
diff --git a/docs/guide/start-installation.md b/docs/guide/start-installation.md
index 5003e59..6dd8242 100644
--- a/docs/guide/start-installation.md
+++ b/docs/guide/start-installation.md
@@ -18,7 +18,7 @@ to develop applications with multiple tiers.
   recommend you stick to the Basic Application Template for its simplicity yet sufficient functionalities.
 
 
-Installing via Composer <a name="installing-via-composer"></a>
+Installing via Composer <span id="installing-via-composer"></span>
 -----------------------
 
 If you do not already have Composer installed, you may do so by following the instructions at
@@ -56,7 +56,7 @@ once for all. The second command installs Yii in a directory named `basic`. You 
 > Note that the development version of Yii should not be used for production as it may break your running code.
 
 
-Installing from an Archive File <a name="installing-from-archive-file"></a>
+Installing from an Archive File <span id="installing-from-archive-file"></span>
 -------------------------------
 
 Installing Yii from an archive file involves three steps:
@@ -72,7 +72,7 @@ Installing Yii from an archive file involves three steps:
    ```
 
 
-Other Installation Options <a name="other-installation-options"></a>
+Other Installation Options <span id="other-installation-options"></span>
 --------------------------
 
 The above installation instructions show how to install Yii, which also creates a basic Web application that works out of the box.
@@ -87,7 +87,7 @@ But there are other installation options available:
   you may consider installing the [Advanced Application Template](tutorial-advanced-app.md).
 
 
-Verifying the Installation <a name="verifying-installation"></a>
+Verifying the Installation <span id="verifying-installation"></span>
 --------------------------
 
 After installation, you can use your browser to access the installed Yii application with the following URL:
@@ -117,7 +117,7 @@ the [PDO PHP Extension](http://www.php.net/manual/en/pdo.installation.php) and a
 (such as `pdo_mysql` for MySQL databases), if your application needs a database.
 
 
-Configuring Web Servers <a name="configuring-web-servers"></a>
+Configuring Web Servers <span id="configuring-web-servers"></span>
 -----------------------
 
 > Info: You may skip this subsection for now if you are just test driving Yii with no intention
@@ -144,7 +144,7 @@ to modify its Web server configuration, you may still adjust the structure of yo
 the [Shared Hosting Environment](tutorial-shared-hosting.md) section for more details.
 
 
-### Recommended Apache Configuration <a name="recommended-apache-configuration"></a>
+### Recommended Apache Configuration <span id="recommended-apache-configuration"></span>
 
 Use the following configuration in Apache's `httpd.conf` file or within a virtual host configuration. Note that you
 should replace `path/to/basic/web` with the actual path for `basic/web`.
@@ -167,7 +167,7 @@ DocumentRoot "path/to/basic/web"
 ```
 
 
-### Recommended Nginx Configuration <a name="recommended-nginx-configuration"></a>
+### Recommended Nginx Configuration <span id="recommended-nginx-configuration"></span>
 
 To use [Nginx](http://wiki.nginx.org/), you should install PHP as an [FPM SAPI](http://php.net/install.fpm).
 You may use the following Nginx configuration, replacing `path/to/basic/web` with the actual path for 
diff --git a/docs/guide/start-workflow.md b/docs/guide/start-workflow.md
index ef34a8f..5cfe7fd 100644
--- a/docs/guide/start-workflow.md
+++ b/docs/guide/start-workflow.md
@@ -12,7 +12,7 @@ how the code is organized, and how the application handles requests in general.
   For your needs, please adjust the URLs in our descriptions accordingly.
 
 
-Functionality <a name="functionality"></a>
+Functionality <span id="functionality"></span>
 -------------
 
 The basic application installed contains four pages:
@@ -30,7 +30,7 @@ You should also see a toolbar at the bottom of the browser window.
 This is a useful [debugger tool](tool-debugger.md) provided by Yii to record and display a lot of debugging information, such as log messages, response statuses, the database queries run, and so on.
 
 
-Application Structure <a name="application-structure"></a>
+Application Structure <span id="application-structure"></span>
 ---------------------
 
 The most important directories and files in your application are (assuming the application's root directory is `basic`):
@@ -72,7 +72,7 @@ and dispatches the request to the MVC elements. [Widgets](structure-widgets.md) 
 to help build complex and dynamic user interface elements.
 
 
-Request Lifecycle <a name="request-lifecycle"></a>
+Request Lifecycle <span id="request-lifecycle"></span>
 -----------------
 
 The following diagram shows how an application handles a request.
diff --git a/docs/guide/structure-application-components.md b/docs/guide/structure-application-components.md
index c101268..8da721b 100644
--- a/docs/guide/structure-application-components.md
+++ b/docs/guide/structure-application-components.md
@@ -51,7 +51,7 @@ For example,
   and use it when needed.
 
 
-## Bootstrapping Components <a name="bootstrapping-components"></a>
+## Bootstrapping Components <span id="bootstrapping-components"></span>
 
 As mentioned above, an application component will only be instantiated when it is being accessed the first time.
 If it is not accessed at all during a request, it will not be instantiated. Sometimes, however, you may want
@@ -74,7 +74,7 @@ For example, the following application configuration makes sure the `log` compon
 ```
 
 
-## Core Application Components <a name="core-application-components"></a>
+## Core Application Components <span id="core-application-components"></span>
 
 Yii defines a set of *core* application components with fixed IDs and default configurations. For example,
 the [[yii\web\Application::request|request]] component is used to collect information about
diff --git a/docs/guide/structure-applications.md b/docs/guide/structure-applications.md
index 22654e6..6f43b12 100644
--- a/docs/guide/structure-applications.md
+++ b/docs/guide/structure-applications.md
@@ -13,7 +13,7 @@ There are two types of applications: [[yii\web\Application|Web applications]] an
 Web requests while the latter console command requests.
 
 
-## Application Configurations <a name="application-configurations"></a>
+## Application Configurations <span id="application-configurations"></span>
 
 When an [entry script](structure-entry-scripts.md) creates an application, it will load
 a [configuration](concept-configurations.md) and apply it to the application, like the following:
@@ -35,7 +35,7 @@ very complex, they usually are kept in [configuration files](concept-configurati
 like the `web.php` file in the above example.
 
 
-## Application Properties <a name="application-properties"></a>
+## Application Properties <span id="application-properties"></span>
 
 There are many important application properties that you should configure in application configurations.
 These properties typically describe the environment that applications are running in.
@@ -43,20 +43,20 @@ For example, applications need to know how to load [controllers](structure-contr
 where to store temporary files, etc. In the following, we will summarize these properties.
 
 
-### Required Properties <a name="required-properties"></a>
+### Required Properties <span id="required-properties"></span>
 
 In any application, you should at least configure two properties: [[yii\base\Application::id|id]]
 and [[yii\base\Application::basePath|basePath]].
 
 
-#### [[yii\base\Application::id|id]] <a name="id"></a>
+#### [[yii\base\Application::id|id]] <span id="id"></span>
 
 The [[yii\base\Application::id|id]] property specifies a unique ID that differentiates an application
 from others. It is mainly used programmatically. Although not a requirement, for best interoperability
 it is recommended that you use alphanumeric characters only when specifying an application ID.
 
 
-#### [[yii\base\Application::basePath|basePath]] <a name="basePath"></a>
+#### [[yii\base\Application::basePath|basePath]] <span id="basePath"></span>
 
 The [[yii\base\Application::basePath|basePath]] property specifies the root directory of an application.
 It is the directory that contains all protected source code of an application system. Under this directory,
@@ -72,13 +72,13 @@ paths (e.g. the runtime path). For this reason, a path alias named `@app` is pre
 path. Derived paths may then be formed using this alias (e.g. `@app/runtime` to refer to the runtime directory).
 
 
-### Important Properties <a name="important-properties"></a>
+### Important Properties <span id="important-properties"></span>
 
 The properties described in this subsection often need to be configured because they differ across
 different applications.
 
 
-#### [[yii\base\Application::aliases|aliases]] <a name="aliases"></a>
+#### [[yii\base\Application::aliases|aliases]] <span id="aliases"></span>
 
 This property allows you to define a set of [aliases](concept-aliases.md) in terms of an array.
 The array keys are alias names, and the array values are the corresponding path definitions.
@@ -97,7 +97,7 @@ This property is provided such that you can define aliases in terms of applicati
 the method calls [[Yii::setAlias()]].
 
 
-#### [[yii\base\Application::bootstrap|bootstrap]] <a name="bootstrap"></a>
+#### [[yii\base\Application::bootstrap|bootstrap]] <span id="bootstrap"></span>
 
 This is a very useful property. It allows you to specify an array of components that should
 be run during the application [[yii\base\Application::bootstrap()|bootstrapping process]].
@@ -172,7 +172,7 @@ if (YII_ENV_DEV) {
   for each request, the same set of components need to be run. So use bootstrapping components judiciously.
 
 
-#### [[yii\web\Application::catchAll|catchAll]] <a name="catchAll"></a>
+#### [[yii\web\Application::catchAll|catchAll]] <span id="catchAll"></span>
 
 This property is supported by [[yii\web\Application|Web applications]] only. It specifies
 a [controller action](structure-controllers.md) which should handle all user requests. This is mainly
@@ -192,7 +192,7 @@ The rest of the array elements (key-value pairs) specify the parameters to be bo
 ```
 
 
-#### [[yii\base\Application::components|components]] <a name="components"></a>
+#### [[yii\base\Application::components|components]] <span id="components"></span>
 
 This is the single most important property. It allows you to register a list of named components
 called [application components](structure-application-components.md) that you can use in other places. For example,
@@ -220,7 +220,7 @@ using the expression `\Yii::$app->ComponentID`.
 Please read the [Application Components](structure-application-components.md) section for details.
 
 
-#### [[yii\base\Application::controllerMap|controllerMap]] <a name="controllerMap"></a>
+#### [[yii\base\Application::controllerMap|controllerMap]] <span id="controllerMap"></span>
 
 This property allows you to map a controller ID to an arbitrary controller class. By default, Yii maps
 controller IDs to controller classes based on a [convention](#controllerNamespace) (e.g. the ID `post` would be mapped
@@ -246,7 +246,7 @@ The array keys of this property represent the controller IDs, while the array va
 controller class names or [configurations](concept-configurations.md).
 
 
-#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <a name="controllerNamespace"></a>
+#### [[yii\base\Application::controllerNamespace|controllerNamespace]] <span id="controllerNamespace"></span>
 
 This property specifies the default namespace under which controller classes should be located. It defaults to
 `app\controllers`. If a controller ID is `post`, by convention the corresponding controller class name (without
@@ -264,7 +264,7 @@ In case you want to break the convention as described above, you may configure t
 property.
 
 
-#### [[yii\base\Application::language|language]] <a name="language"></a>
+#### [[yii\base\Application::language|language]] <span id="language"></span>
 
 This property specifies the language in which the application should display content to end users.
 The default value of this property is `en`, meaning English. You should configure this property
@@ -281,7 +281,7 @@ For example, `en` stands for English, while `en-US` stands for English (United S
 More details about this property can be found in the [Internationalization](tutorial-i18n.md) section.
 
 
-#### [[yii\base\Application::modules|modules]] <a name="modules"></a>
+#### [[yii\base\Application::modules|modules]] <span id="modules"></span>
 
 This property specifies the [modules](structure-modules.md) that the application contains.
 
@@ -306,7 +306,7 @@ being the module IDs. For example,
 Please refer to the [Modules](structure-modules.md) section for more details.
 
 
-#### [[yii\base\Application::name|name]] <a name="name"></a>
+#### [[yii\base\Application::name|name]] <span id="name"></span>
 
 This property specifies the application name that may be displayed to end users. Unlike the
 [[yii\base\Application::id|id]] property which should take a unique value, the value of this property is mainly for
@@ -315,7 +315,7 @@ display purpose and does not need to be unique.
 You do not always need to configure this property if none of your code is using it.
 
 
-#### [[yii\base\Application::params|params]] <a name="params"></a>
+#### [[yii\base\Application::params|params]] <span id="params"></span>
 
 This property specifies an array of globally accessible application parameters. Instead of using hardcoded
 numbers and strings everywhere in your code, it is a good practice to define them as application parameters
@@ -341,7 +341,7 @@ Later if you decide to change the thumbnail size, you only need to modify it in 
 without touching any dependent code.
 
 
-#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <a name="sourceLanguage"></a>
+#### [[yii\base\Application::sourceLanguage|sourceLanguage]] <span id="sourceLanguage"></span>
 
 This property specifies the language that the application code is written in. The default value is `'en-US'`,
 meaning English (United States). You should configure this property if the text content in your code is not in English.
@@ -353,7 +353,7 @@ while `en-US` stands for English (United States).
 More details about this property can be found in the [Internationalization](tutorial-i18n.md) section.
 
 
-#### [[yii\base\Application::timeZone|timeZone]] <a name="timeZone"></a>
+#### [[yii\base\Application::timeZone|timeZone]] <span id="timeZone"></span>
 
 This property is provided as an alternative way of setting the default time zone of PHP runtime.
 By configuring this property, you are essentially calling the PHP function
@@ -366,25 +366,25 @@ By configuring this property, you are essentially calling the PHP function
 ```
 
 
-#### [[yii\base\Application::version|version]] <a name="version"></a>
+#### [[yii\base\Application::version|version]] <span id="version"></span>
 
 This property specifies the version of the application. It defaults to `'1.0'`. You do not always need to configure
 this property if none of your code is using it.
 
 
-### Useful Properties <a name="useful-properties"></a>
+### Useful Properties <span id="useful-properties"></span>
 
 The properties described in this subsection are not commonly configured because their default values
 stipulate common conventions. However, you may still configure them in case you want to break the conventions.
 
 
-#### [[yii\base\Application::charset|charset]] <a name="charset"></a>
+#### [[yii\base\Application::charset|charset]] <span id="charset"></span>
 
 This property specifies the charset that the application uses. The default value is `'UTF-8'` which should
 be kept as is for most applications unless you are working with some legacy systems that use a lot of non-unicode data.
 
 
-#### [[yii\base\Application::defaultRoute|defaultRoute]] <a name="defaultRoute"></a>
+#### [[yii\base\Application::defaultRoute|defaultRoute]] <span id="defaultRoute"></span>
 
 This property specifies the [route](runtime-routing.md) that an application should use when a request
 does not specify one. The route may consist of child module ID, controller ID, and/or action ID.
@@ -400,7 +400,7 @@ For [[yii\console\Application|console applications]], the default value is `'hel
 without providing any arguments, it will display the help information.
 
 
-#### [[yii\base\Application::extensions|extensions]] <a name="extensions"></a>
+#### [[yii\base\Application::extensions|extensions]] <span id="extensions"></span>
 
 This property specifies the list of [extensions](structure-extensions.md) that are installed and used by the application.
 By default, it will take the array returned by the file `@vendor/yiisoft/extensions.php`. The `extensions.php` file
@@ -434,7 +434,7 @@ process, a `bootstrap` element may be specified with a bootstrapping class name 
 array. An extension may also define a few [aliases](concept-aliases.md).
 
 
-#### [[yii\base\Application::layout|layout]] <a name="layout"></a>
+#### [[yii\base\Application::layout|layout]] <span id="layout"></span>
 
 This property specifies the name of the default layout that should be used when rendering a [view](structure-views.md).
 The default value is `'main'`, meaning the layout file `main.php` under the [layout path](#layoutPath) should be used.
@@ -444,7 +444,7 @@ the default layout file can be represented as the path alias `@app/views/layouts
 You may configure this property to be `false` if you want to disable layout by default, although this is very rare.
 
 
-#### [[yii\base\Application::layoutPath|layoutPath]] <a name="layoutPath"></a>
+#### [[yii\base\Application::layoutPath|layoutPath]] <span id="layoutPath"></span>
 
 This property specifies the path where layout files should be looked for. The default value is
 the `layouts` sub-directory under the [view path](#viewPath). If the [view path](#viewPath) is taking
@@ -453,7 +453,7 @@ its default value, the default layout path can be represented as the path alias 
 You may configure it as a directory or a path [alias](concept-aliases.md).
 
 
-#### [[yii\base\Application::runtimePath|runtimePath]] <a name="runtimePath"></a>
+#### [[yii\base\Application::runtimePath|runtimePath]] <span id="runtimePath"></span>
 
 This property specifies the path where temporary files, such as log files, cache files, can be generated.
 The default value is the directory represented by the alias `@app/runtime`.
@@ -465,13 +465,13 @@ by end users because the temporary files under it may contain sensitive informat
 To simplify accessing to this path, Yii has predefined a path alias named `@runtime` for it.
 
 
-#### [[yii\base\Application::viewPath|viewPath]] <a name="viewPath"></a>
+#### [[yii\base\Application::viewPath|viewPath]] <span id="viewPath"></span>
 
 This property specifies the root directory where view files are located. The default value is the directory
 represented by the alias `@app/views`. You may configure it as a directory or a path [alias](concept-aliases.md).
 
 
-#### [[yii\base\Application::vendorPath|vendorPath]] <a name="vendorPath"></a>
+#### [[yii\base\Application::vendorPath|vendorPath]] <span id="vendorPath"></span>
 
 This property specifies the vendor directory managed by [Composer](http://getcomposer.org). It contains
 all third party libraries used by your application, including the Yii framework. The default value is
@@ -483,13 +483,13 @@ this property, make sure you also adjust the Composer configuration accordingly.
 To simplify accessing to this path, Yii has predefined a path alias named `@vendor` for it.
 
 
-#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <a name="enableCoreCommands"></a>
+#### [[yii\console\Application::enableCoreCommands|enableCoreCommands]] <span id="enableCoreCommands"></span>
 
 This property is supported by [[yii\console\Application|console applications]] only. It specifies
 whether the core commands included in the Yii release should be enabled. The default value is `true`.
 
 
-## Application Events <a name="application-events"></a>
+## Application Events <span id="application-events"></span>
 
 An application triggers several events during the lifecycle of handling an request. You may attach event
 handlers to these events in application configurations like the following,
@@ -514,7 +514,7 @@ after the application instance is created. For example,
 });
 ```
 
-### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <a name="beforeRequest"></a>
+### [[yii\base\Application::EVENT_BEFORE_REQUEST|EVENT_BEFORE_REQUEST]] <span id="beforeRequest"></span>
 
 This event is triggered *before* an application handles a request. The actual event name is `beforeRequest`.
 
@@ -523,7 +523,7 @@ to insert your custom code via the event mechanism to intercept the request hand
 in the event handler, you may dynamically set the [[yii\base\Application::language]] property based on some parameters.
 
 
-### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <a name="afterRequest"></a>
+### [[yii\base\Application::EVENT_AFTER_REQUEST|EVENT_AFTER_REQUEST]] <span id="afterRequest"></span>
 
 This event is triggered *after* an application finishes handling a request but *before* sending the response.
 The actual event name is `afterRequest`.
@@ -535,7 +535,7 @@ Note that the [[yii\web\Response|response]] component also triggers some events 
 response content to end users. Those events are triggered *after* this event.
 
 
-### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <a name="beforeAction"></a>
+### [[yii\base\Application::EVENT_BEFORE_ACTION|EVENT_BEFORE_ACTION]] <span id="beforeAction"></span>
 
 This event is triggered *before* running every [controller action](structure-controllers.md).
 The actual event name is `beforeAction`.
@@ -561,7 +561,7 @@ triggering this event, followed by modules (if any), and finally controllers. If
 sets [[yii\base\ActionEvent::isValid]] to be `false`, all the following events will NOT be triggered.
 
 
-### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <a name="afterAction"></a>
+### [[yii\base\Application::EVENT_AFTER_ACTION|EVENT_AFTER_ACTION]] <span id="afterAction"></span>
 
 This event is triggered *after* running every [controller action](structure-controllers.md).
 The actual event name is `afterAction`.
@@ -587,7 +587,7 @@ as for that of `beforeAction`. That is, controllers are the first objects trigge
 followed by modules (if any), and finally applications.
 
 
-## Application Lifecycle <a name="application-lifecycle"></a>
+## Application Lifecycle <span id="application-lifecycle"></span>
 
 ![Application Lifecycle](images/application-lifecycle.png)
 
diff --git a/docs/guide/structure-assets.md b/docs/guide/structure-assets.md
index 5ef6bf8..451878e 100644
--- a/docs/guide/structure-assets.md
+++ b/docs/guide/structure-assets.md
@@ -11,14 +11,14 @@ the new version of the asset files. In this tutorial, we will describe the power
 provided in Yii.
 
 
-## Asset Bundles <a name="asset-bundles"></a>
+## Asset Bundles <span id="asset-bundles"></span>
 
 Yii manages assets in the unit of *asset bundle*. An asset bundle is simply a collection of assets located
 in a directory. When you register an asset bundle in a [view](structure-views.md), it will include the CSS and
 JavaScript files in the bundle in the rendered Web page.
 
 
-## Defining Asset Bundles <a name="defining-asset-bundles"></a>
+## Defining Asset Bundles <span id="defining-asset-bundles"></span>
 
 Asset bundles are specified as PHP classes extending from [[yii\web\AssetBundle]]. The name of a bundle is simply
 its corresponding fully qualified PHP class name (without the leading backslash). An asset bundle class should
@@ -90,7 +90,7 @@ explanation about the properties of [[yii\web\AssetBundle]] can be found in the 
   This is only used if you specify the [[yii\web\AssetBundle::sourcePath|sourcePath]] property.
 
 
-### Asset Locations <a name="asset-locations"></a>
+### Asset Locations <span id="asset-locations"></span>
 
 Assets, based on their location, can be classified as:
 
@@ -120,7 +120,7 @@ property when defining asset bundle classes for them.
   to removal.
 
 
-### Asset Dependencies <a name="asset-dependencies"></a>
+### Asset Dependencies <span id="asset-dependencies"></span>
 
 When you include multiple CSS or JavaScript files in a Web page, they have to follow a certain order to avoid
 overriding issues. For example, if you are using a jQuery UI widget in a Web page, you have to make sure
@@ -135,7 +135,7 @@ those files in the two dependent bundles.
 Asset dependencies are transitive. This means if bundle A depends on B which depends on C, A will depend on C, too.
 
 
-### Asset Options <a name="asset-options"></a>
+### Asset Options <span id="asset-options"></span>
 
 You can specify the [[yii\web\AssetBundle::cssOptions|cssOptions]] and [[yii\web\AssetBundle::jsOptions|jsOptions]]
 properties to customize the way that CSS and JavaScript files are included in a page. The values of these properties
@@ -206,7 +206,7 @@ The above example defines an asset bundle for the ["fontawesome" package](http:/
 the `beforeCopy` publishing option, only the `fonts` and `css` subdirectories will be published.
 
 
-### Bower and NPM Assets <a name="bower-npm-assets"></a>
+### Bower and NPM Assets <span id="bower-npm-assets"></span>
 
 Most JavaScript/CSS packages are managed by [Bower](http://bower.io/) and/or [NPM](https://www.npmjs.org/).
 If your application or extension is using such a package, it is recommended that you follow these steps to manage
@@ -224,7 +224,7 @@ the assets in the library:
   uses `@bower/jquery/dist` instead of `@bower/jquery`.
 
 
-## Using Asset Bundles <a name="using-asset-bundles"></a>
+## Using Asset Bundles <span id="using-asset-bundles"></span>
 
 To use an asset bundle, register it with a [view](structure-views.md) by calling the [[yii\web\AssetBundle::register()]]
 method. For example, in a view template you can register an asset bundle like the following:
@@ -248,7 +248,7 @@ the registered bundles and the order of the assets listed in the [[yii\web\Asset
 properties.
 
 
-### Customizing Asset Bundles <a name="customizing-asset-bundles"></a>
+### Customizing Asset Bundles <span id="customizing-asset-bundles"></span>
 
 Yii manages asset bundles through an application component named `assetManager` which is implemented by [[yii\web\AssetManager]].
 By configuring the [[yii\web\AssetManager::bundles]] property, it is possible to customize the behavior of an asset bundle.
@@ -310,7 +310,7 @@ return [
 You can also disable *all* asset bundles by setting [[yii\web\AssetManager::bundles]] as `false`.
 
 
-### Asset Mapping <a name="asset-mapping"></a>
+### Asset Mapping <span id="asset-mapping"></span>
 
 Sometimes you may want to "fix" incorrect/incompatible asset file paths used in multiple asset bundles. For example,
 bundle A uses `jquery.min.js` version 1.11.1, and bundle B uses `jquery.js` version 2.1.1. While you can
@@ -341,7 +341,7 @@ For example, the asset file `my/path/to/jquery.js` matches the key `jquery.js`.
   should be either absolute URLs or paths relative to [[yii\web\AssetManager::basePath]].
 
 
-### Asset Publishing <a name="asset-publishing"></a>
+### Asset Publishing <span id="asset-publishing"></span>
 
 As aforementioned, if an asset bundle is located in a directory that is not Web accessible, its assets will be copied
 to a Web directory when the bundle is being registered with a view. This process is called *asset publishing*, and is done
@@ -370,7 +370,7 @@ when it is being published. This is faster than file copying and can also ensure
 always up-to-date.
 
 
-## Commonly Used Asset Bundles <a name="common-asset-bundles"></a>
+## Commonly Used Asset Bundles <span id="common-asset-bundles"></span>
 
 The core Yii code has defined many asset bundles. Among them, the following bundles are commonly used and may
 be referenced in your application or extension code.
@@ -388,7 +388,7 @@ creating your own versions. If the default setting of these bundles do not satis
 as described in the [Customizing Asset Bundle](#customizing-asset-bundles) subsection. 
 
 
-## Asset Conversion <a name="asset-conversion"></a>
+## Asset Conversion <span id="asset-conversion"></span>
 
 Instead of directly writing CSS and/or JavaScript code, developers often write them in some extended syntax and
 use special tools to convert it into CSS/JavaScript. For example, for CSS code you may use [LESS](http://lesscss.org/)
@@ -461,7 +461,7 @@ in the commands will be replaced with the source asset file paths and the target
   asset bundles rather than the original files.
 
 
-## Combining and Compressing Assets <a name="combining-compressing-assets"></a>
+## Combining and Compressing Assets <span id="combining-compressing-assets"></span>
 
 A Web page can include many CSS and/or JavaScript files. To reduce the number of HTTP requests and the overall
 download size of these files, a common practice is to combine and compress multiple CSS/JavaScript files into 
@@ -488,7 +488,7 @@ the new asset bundle for the group that the original bundle belongs to. And as a
 asset files are included in the page, instead of the original ones.
 
 
-### An Example <a name="example"></a>
+### An Example <span id="example"></span>
 
 Let's use an example to further explain the above approach. 
 
@@ -563,7 +563,7 @@ That is, the asset bundle configuration array is saved in `assets-prod.php` for 
 `assets-dev.php` for non-production mode.
 
 
-### Using the `asset` Command <a name="using-asset-command"></a>
+### Using the `asset` Command <span id="using-asset-command"></span>
 
 Yii provides a console command named `asset` to automate the approach that we just described.
 
diff --git a/docs/guide/structure-controllers.md b/docs/guide/structure-controllers.md
index 7e0c124..7f175ba 100644
--- a/docs/guide/structure-controllers.md
+++ b/docs/guide/structure-controllers.md
@@ -8,7 +8,7 @@ controllers will analyze incoming request data, pass them to [models](structure-
 into [views](structure-views.md), and finally generate outgoing responses.
 
 
-## Actions <a name="actions"></a>
+## Actions <span id="actions"></span>
 
 Controllers are composed by *actions* which are the most basic units that end users can address and request for
 execution. A controller can have one or multiple actions.
@@ -62,7 +62,7 @@ the browser to the `view` action with the ID of the newly created model. Otherwi
 the `create` view through which users can provide the needed input.
 
 
-## Routes <a name="routes"></a>
+## Routes <span id="routes"></span>
 
 End users address actions through the so-called *routes*. A route is a string that consists of the following parts:
 
@@ -88,7 +88,7 @@ will be executed. For more details on how routes are resolved into actions, plea
 the [Routing and URL Generation](runtime-routing.md) section.
 
 
-## Creating Controllers <a name="creating-controllers"></a>
+## Creating Controllers <span id="creating-controllers"></span>
 
 In [[yii\web\Application|Web applications]], controllers should extend from [[yii\web\Controller]] or its
 child classes. Similarly in [[yii\console\Application|console applications]], controllers should extend from
@@ -105,7 +105,7 @@ class SiteController extends Controller
 ```
 
 
-### Controller IDs <a name="controller-ids"></a>
+### Controller IDs <span id="controller-ids"></span>
 
 Usually, a controller is designed to handle the requests regarding a particular type of resource.
 For this reason, controller IDs are often nouns referring to the types of the resources that they are handling.
@@ -121,7 +121,7 @@ Valid characters for subdirectory prefixes include: English letters in lower and
 forward slashes, where forward slashes are used as separators for multi-level subdirectories (e.g. `panels/admin`).
 
 
-### Controller Class Naming <a name="controller-class-naming"></a>
+### Controller Class Naming <span id="controller-class-naming"></span>
 
 Controller class names can be derived from controller IDs according to the following rules:
 
@@ -149,7 +149,7 @@ in `@app/controllers/admin/Post2CommentController.php`.
   to organize your controllers into several categories and you do not want to use [modules](structure-modules.md).
 
 
-### Controller Map <a name="controller-map"></a>
+### Controller Map <span id="controller-map"></span>
 
 You can configure [[yii\base\Application::controllerMap|controller map]] to overcome the constraints
 of the controller IDs and class names described above. This is mainly useful when you are using some
@@ -174,7 +174,7 @@ You may configure [[yii\base\Application::controllerMap|controller map]] in the
 ```
 
 
-### Default Controller <a name="default-controller"></a>
+### Default Controller <span id="default-controller"></span>
 
 Each application has a default controller specified via the [[yii\base\Application::defaultRoute]] property.
 When a request does not specify a [route](#ids-routes), the route specified by this property will be used.
@@ -190,7 +190,7 @@ You may change the default controller with the following [application configurat
 ```
 
 
-## Creating Actions <a name="creating-actions"></a>
+## Creating Actions <span id="creating-actions"></span>
 
 Creating actions can be as simple as defining the so-called *action methods* in a controller class. An action method is
 a *public* method whose name starts with the word `action`. The return value of an action method represents
@@ -216,7 +216,7 @@ class SiteController extends Controller
 ```
 
 
-### Action IDs <a name="action-ids"></a>
+### Action IDs <span id="action-ids"></span>
 
 An action is often designed to perform a particular manipulation about a resource. For this reason,
 action IDs are usually verbs, such as `view`, `update`, etc.
@@ -232,7 +232,7 @@ if you have no intention to reuse these actions. Standalone actions, on the othe
 created to be used in different controllers or be redistributed as [extensions](structure-extensions.md).
 
 
-### Inline Actions <a name="inline-actions"></a>
+### Inline Actions <span id="inline-actions"></span>
 
 Inline actions refer to the actions that are defined in terms of action methods as we just described.
 
@@ -255,7 +255,7 @@ if you plan to reuse the same action in different places, or if you want to redi
 you should consider defining it as a *standalone action*.
 
 
-### Standalone Actions <a name="standalone-actions"></a>
+### Standalone Actions <span id="standalone-actions"></span>
 
 Standalone actions are defined in terms of action classes extending [[yii\base\Action]] or its child classes.
 For example, in the Yii releases, there are [[yii\web\ViewAction]] and [[yii\web\ErrorAction]], both of which
@@ -304,7 +304,7 @@ class HelloWorldAction extends Action
 ```
 
 
-### Action Results <a name="action-results"></a>
+### Action Results <span id="action-results"></span>
 
 The return value of an action method or the `run()` method of a standalone action is significant. It stands
 for the result of the corresponding action.
@@ -331,7 +331,7 @@ public function actionForward()
 ```
 
 
-### Action Parameters <a name="action-parameters"></a>
+### Action Parameters <span id="action-parameters"></span>
 
 The action methods for inline actions and the `run()` methods for standalone actions can take parameters,
 called *action parameters*. Their values are obtained from requests. For [[yii\web\Application|Web applications]],
@@ -382,7 +382,7 @@ The above examples mainly show how action parameters work for Web applications. 
 please refer to the [Console Commands](tutorial-console.md) section for more details.
 
 
-### Default Action <a name="default-action"></a>
+### Default Action <span id="default-action"></span>
 
 Each controller has a default action specified via the [[yii\base\Controller::defaultAction]] property.
 When a [route](#ids-routes) contains the controller ID only, it implies that the default action of
@@ -408,7 +408,7 @@ class SiteController extends Controller
 ```
 
 
-## Controller Lifecycle <a name="controller-lifecycle"></a>
+## Controller Lifecycle <span id="controller-lifecycle"></span>
 
 When processing a request, an [application](structure-applications.md) will create a controller
 based on the requested [route](#routes). The controller will then undergo the following lifecycle
@@ -434,7 +434,7 @@ to fulfill the request:
 6. The application will take the action result and assign it to the [response](runtime-responses.md).
 
 
-## Best Practices <a name="best-practices"></a>
+## Best Practices <span id="best-practices"></span>
 
 In a well-designed application, controllers are often very thin with each action containing only a few lines of code.
 If your controller is rather complicated, it usually indicates that you should refactor it and move some code
diff --git a/docs/guide/structure-entry-scripts.md b/docs/guide/structure-entry-scripts.md
index 09da9b2..c2e76da 100644
--- a/docs/guide/structure-entry-scripts.md
+++ b/docs/guide/structure-entry-scripts.md
@@ -23,7 +23,7 @@ Entry scripts mainly do the following work:
 * Call [[yii\base\Application::run()]] to process the incoming request.
 
 
-## Web Applications <a name="web-applications"></a>
+## Web Applications <span id="web-applications"></span>
 
 The following is the code in the entry script for the [Basic Web Application Template](start-installation.md).
 
@@ -47,7 +47,7 @@ $config = require(__DIR__ . '/../config/web.php');
 ```
 
 
-## Console Applications <a name="console-applications"></a>
+## Console Applications <span id="console-applications"></span>
 
 Similarly, the following is the code for the entry script of a console application:
 
@@ -83,7 +83,7 @@ exit($exitCode);
 ```
 
 
-## Defining Constants <a name="defining-constants"></a>
+## Defining Constants <span id="defining-constants"></span>
 
 Entry scripts are the best place for defining global constants. Yii supports the following three constants:
 
diff --git a/docs/guide/structure-extensions.md b/docs/guide/structure-extensions.md
index deee0c7..6930795 100644
--- a/docs/guide/structure-extensions.md
+++ b/docs/guide/structure-extensions.md
@@ -11,7 +11,7 @@ other people your great work.
   that can be used without Yii, we will refer to them using the term "package" or "library".
 
 
-## Using Extensions <a name="using-extensions"></a>
+## Using Extensions <span id="using-extensions"></span>
 
 To use an extension, you need to install it first. Most extensions are distributed as [Composer](https://getcomposer.org/)
 packages which can be installed by taking the following two simple steps:
@@ -66,7 +66,7 @@ Image::thumbnail('@webroot/img/test-image.jpg', 120, 120)
 > Info: Extension classes are autoloaded by the [Yii class autoloader](concept-autoloading.md).
 
 
-### Installing Extensions Manually <a name="installing-extensions-manually"></a>
+### Installing Extensions Manually <span id="installing-extensions-manually"></span>
 
 In some rare occasions, you may want to install some or all extensions manually, rather than relying on Composer.
 To do so, you should:
@@ -90,7 +90,7 @@ are under the `myext` namespace, then you can include the following code in your
 ```
 
 
-## Creating Extensions <a name="creating-extensions"></a>
+## Creating Extensions <span id="creating-extensions"></span>
 
 You may consider creating an extension when you feel the need to share with other people your great code.
 An extension can contain any code you like, such as a helper class, a widget, a module, etc.
@@ -108,7 +108,7 @@ Below are the basic steps you may follow to create an extension as a Composer pa
    other users can find and install your extension using Composer.
 
 
-### `composer.json` <a name="composer-json"></a>
+### `composer.json` <span id="composer-json"></span>
 
 Each Composer package must have a `composer.json` file in its root directory. The file contains the metadata about
 the package. You may find complete specification about this file in the [Composer Manual](https://getcomposer.org/doc/01-basic-usage.md#composer-json-project-setup).
@@ -155,7 +155,7 @@ The following example shows the `composer.json` file for the `yiisoft/yii2-imagi
 ```
 
 
-#### Package Name <a name="package-name"></a>
+#### Package Name <span id="package-name"></span>
 
 Each Composer package should have a package name which uniquely identifies the package among all others.
 The format of package names is `vendorName/projectName`. For example, in the package name `yiisoft/yii2-imagine`,
@@ -167,7 +167,7 @@ We recommend you prefix `yii2-` to the project name for packages representing Yi
 `myname/yii2-mywidget`. This will allow users to more easily tell whether a package is a Yii 2 extension.
 
 
-#### Package Type <a name="package-type"></a>
+#### Package Type <span id="package-type"></span>
 
 It is important that you specify the package type of your extension as `yii2-extension` so that the package can
 be recognized as a Yii extension when being installed.
@@ -177,7 +177,7 @@ will be automatically updated to include the information about the new extension
 can know which extensions are installed (the information can be accessed via [[yii\base\Application::extensions]]).
 
 
-#### Dependencies <a name="dependencies"></a>
+#### Dependencies <span id="dependencies"></span>
 
 Your extension depends on Yii (of course). So you should list it (`yiisoft/yii2`) in the `require` entry in `composer.json`.
 If your extension also depends on other extensions or third-party libraries, you should list them as well.
@@ -207,7 +207,7 @@ These two directories can also be referred to using the shorter aliases `@bower/
 For more details about asset management, please refer to the [Assets](structure-assets.md#bower-npm-assets) section.
 
 
-#### Class Autoloading <a name="class-autoloading"></a>
+#### Class Autoloading <span id="class-autoloading"></span>
 
 In order for your classes to be autoloaded by the Yii class autoloader or the Composer class autoloader,
 you should specify the `autoload` entry in the `composer.json` file, like shown below:
@@ -231,13 +231,13 @@ an [alias](concept-aliases.md#extension-aliases) that refers to the directory co
 For example, the above `autoload` declaration will correspond to an alias named `@yii/imagine`.
 
 
-### Recommended Practices <a name="recommended-practices"></a>
+### Recommended Practices <span id="recommended-practices"></span>
 
 Because extensions are meant to be used by other people, you often need to make an extra effort during development. Below
 we introduce some common and recommended practices in creating high quality extensions.
 
 
-#### Namespaces <a name="namespaces"></a>
+#### Namespaces <span id="namespaces"></span>
 
 To avoid name collisions and make the classes in your extension autoloadable, you should use namespaces and
 name the classes in your extension by following the [PSR-4 standard](http://www.php-fig.org/psr/psr-4/) or
@@ -250,7 +250,7 @@ extension, we use `yii\imagine` as the namespace for its classes.
 Do not use `yii`, `yii2` or `yiisoft` as your vendor name. These names are reserved for use by the Yii core code.
 
 
-#### Bootstrapping Classes <a name="bootstrapping-classes"></a>
+#### Bootstrapping Classes <span id="bootstrapping-classes"></span>
 
 Sometimes, you may want your extension to execute some code during the [bootstrapping process](runtime-bootstrapping.md)
 stage of an application. For example, your extension may want to respond to the application's `beginRequest` event
@@ -294,7 +294,7 @@ and call its [[yii\base\BootstrapInterface::bootstrap()|bootstrap()]] method dur
 every request.
 
 
-#### Working with Databases <a name="working-with-databases"></a>
+#### Working with Databases <span id="working-with-databases"></span>
 
 Your extension may need to access databases. Do not assume that the applications that use your extension will always
 use `Yii::$db` as the DB connection. Instead, you should declare a `db` property for the classes that require DB access.
@@ -308,7 +308,7 @@ If your extension needs to create specific DB tables or make changes to DB schem
 - avoid using [Active Record](db-active-record.md) in the migrations.
 
 
-#### Using Assets <a name="using-assets"></a>
+#### Using Assets <span id="using-assets"></span>
 
 If your extension is a widget or a module, chances are that it may require some [assets](structure-assets.md) to work.
 For example, a module may display some pages which contain images, JavaScript, and CSS. Because the files of an
@@ -323,7 +323,7 @@ We recommend you use the second approach so that your extension can be more easi
 Please refer to the [Assets](structure-assets.md) section for more details about how to work with assets in general.
 
 
-#### Internationalization and Localization <a name="i18n-l10n"></a>
+#### Internationalization and Localization <span id="i18n-l10n"></span>
 
 Your extension may be used by applications supporting different languages! Therefore, if your extension displays
 content to end users, you should try to [internationalize and localize](tutorial-i18n.md) it. In particular,
@@ -337,7 +337,7 @@ content to end users, you should try to [internationalize and localize](tutorial
 For more details, please refer to the [Internationalization](tutorial-i18n.md) section.
 
 
-#### Testing <a name="testing"></a>
+#### Testing <span id="testing"></span>
 
 You want your extension to run flawlessly without bringing problems to other people. To reach this goal, you should
 test your extension before releasing it to public.
@@ -348,13 +348,13 @@ everything is in good shape. Yii provides testing support, which can help you to
 acceptance tests and functionality tests. For more details, please refer to the [Testing](test-overview.md) section.
 
 
-#### Versioning <a name="versioning"></a>
+#### Versioning <span id="versioning"></span>
 
 You should give each release of your extension a version number (e.g. `1.0.1`). We recommend you follow the
 [semantic versioning](http://semver.org) practice when determining what version numbers should be used.
 
 
-#### Releasing <a name="releasing"></a>
+#### Releasing <span id="releasing"></span>
 
 To let other people know about your extension, you need to release it to the public.
 
@@ -386,7 +386,7 @@ help other people learn about and use your extension:
   the [core framework code style](https://github.com/yiisoft/yii2/wiki/Core-framework-code-style).
 
 
-## Core Extensions <a name="core-extensions"></a>
+## Core Extensions <span id="core-extensions"></span>
 
 Yii provides the following core extensions that are developed and maintained by the Yii developer team. They are all
 registered on [Packagist](https://packagist.org/) and can be easily installed as described in the
diff --git a/docs/guide/structure-filters.md b/docs/guide/structure-filters.md
index 28a24d5..caf698f 100644
--- a/docs/guide/structure-filters.md
+++ b/docs/guide/structure-filters.md
@@ -9,7 +9,7 @@ A filter may consist of a pre-filter (filtering logic applied *before* actions) 
 *after* actions).
 
 
-## Using Filters <a name="using-filters"></a>
+## Using Filters <span id="using-filters"></span>
 
 Filters are essentially a special kind of [behaviors](concept-behaviors.md). Therefore, using filters is the same
 as [using behaviors](concept-behaviors.md#attaching-behaviors). You can declare filters in a controller class
@@ -61,7 +61,7 @@ When multiple filters are configured for a single action, they are applied accor
     - Apply filters declared in the application in the reverse order they are listed in `behaviors()`.
 
 
-## Creating Filters <a name="creating-filters"></a>
+## Creating Filters <span id="creating-filters"></span>
 
 To create a new action filter, extend from [[yii\base\ActionFilter]] and override the
 [[yii\base\ActionFilter::beforeAction()|beforeAction()]] and/or [[yii\base\ActionFilter::afterAction()|afterAction()]]
@@ -97,13 +97,13 @@ class ActionTimeFilter extends ActionFilter
 ```
 
 
-## Core Filters <a name="core-filters"></a>
+## Core Filters <span id="core-filters"></span>
 
 Yii provides a set of commonly used filters, found primarily under the `yii\filters` namespace. In the following,
 we will briefly introduce these filters.
 
 
-### [[yii\filters\AccessControl|AccessControl]] <a name="access-control"></a>
+### [[yii\filters\AccessControl|AccessControl]] <span id="access-control"></span>
 
 AccessControl provides simple access control based on a set of [[yii\filters\AccessControl::rules|rules]].
 In particular, before an action is executed, AccessControl will examine the listed rules and find the first one
@@ -139,7 +139,7 @@ public function behaviors()
 For more details about access control in general, please refer to the [Authorization](security-authorization.md) section.
 
 
-### Authentication Method Filters <a name="auth-method-filters"></a>
+### Authentication Method Filters <span id="auth-method-filters"></span>
 
 Authentication method filters are used to authenticate a user using various methods, such as
 [HTTP Basic Auth](http://en.wikipedia.org/wiki/Basic_access_authentication), [OAuth 2](http://oauth.net/2/).
@@ -167,7 +167,7 @@ Authentication method filters are commonly used in implementing RESTful APIs. Fo
 RESTful [Authentication](rest-authentication.md) section.
 
 
-### [[yii\filters\ContentNegotiator|ContentNegotiator]] <a name="content-negotiator"></a>
+### [[yii\filters\ContentNegotiator|ContentNegotiator]] <span id="content-negotiator"></span>
 
 ContentNegotiator supports response format negotiation and application language negotiation. It will try to
 determine the response format and/or language by examining `GET` parameters and `Accept` HTTP header.
@@ -229,7 +229,7 @@ use yii\web\Response;
 
 
 
-### [[yii\filters\HttpCache|HttpCache]] <a name="http-cache"></a>
+### [[yii\filters\HttpCache|HttpCache]] <span id="http-cache"></span>
 
 HttpCache implements client-side caching by utilizing the `Last-Modified` and `Etag` HTTP headers.
 For example,
@@ -255,7 +255,7 @@ public function behaviors()
 Please refer to the [HTTP Caching](caching-http.md) section for more details about using HttpCache.
 
 
-### [[yii\filters\PageCache|PageCache]] <a name="page-cache"></a>
+### [[yii\filters\PageCache|PageCache]] <span id="page-cache"></span>
 
 PageCache implements server-side caching of whole pages. In the following example, PageCache is applied
 to the `index` action to cache the whole page for maximum 60 seconds or until the count of entries in the `post`
@@ -287,14 +287,14 @@ public function behaviors()
 Please refer to the [Page Caching](caching-page.md) section for more details about using PageCache.
 
 
-### [[yii\filters\RateLimiter|RateLimiter]] <a name="rate-limiter"></a>
+### [[yii\filters\RateLimiter|RateLimiter]] <span id="rate-limiter"></span>
 
 RateLimiter implements a rate limiting algorithm based on the [leaky bucket algorithm](http://en.wikipedia.org/wiki/Leaky_bucket).
 It is primarily used in implementing RESTful APIs. Please refer to the [Rate Limiting](rest-rate-limiting.md) section
 for details about using this filter.
 
 
-### [[yii\filters\VerbFilter|VerbFilter]] <a name="verb-filter"></a>
+### [[yii\filters\VerbFilter|VerbFilter]] <span id="verb-filter"></span>
 
 VerbFilter checks if the HTTP request methods are allowed by the requested actions. If not allowed, it will
 throw an HTTP 405 exception. In the following example, VerbFilter is declared to specify a typical set of allowed
@@ -320,7 +320,7 @@ public function behaviors()
 }
 ```
 
-### [[yii\filters\Cors|Cors]] <a name="cors"></a>
+### [[yii\filters\Cors|Cors]] <span id="cors"></span>
 
 Cross-origin resource sharing [CORS](https://developer.mozilla.org/fr/docs/HTTP/Access_control_CORS) is a mechanism that allows many resources (e.g. fonts, JavaScript, etc.)
 on a Web page to be requested from another domain outside the domain the resource originated from.
diff --git a/docs/guide/structure-models.md b/docs/guide/structure-models.md
index 7d175e3..1bb2d54 100644
--- a/docs/guide/structure-models.md
+++ b/docs/guide/structure-models.md
@@ -21,7 +21,7 @@ Please refer to the relevant documentation for more details about these advanced
   components built to support [[yii\base\Model]], it is usually the preferable base class for a model.
 
 
-## Attributes <a name="attributes"></a>
+## Attributes <span id="attributes"></span>
 
 Models represent business data in terms of *attributes*. Each attribute is like a publicly accessible property
 of a model. The method [[yii\base\Model::attributes()]] specifies what attributes a model class has.
@@ -54,7 +54,7 @@ foreach ($model as $name => $value) {
 ```
 
 
-### Defining Attributes <a name="defining-attributes"></a>
+### Defining Attributes <span id="defining-attributes"></span>
 
 By default, if your model class extends directly from [[yii\base\Model]], all its *non-static public* member
 variables are attributes. For example, the `ContactForm` model class below has four attributes: `name`, `email`,
@@ -82,7 +82,7 @@ override the magic methods such as `__get()`, `__set()` so that the attributes c
 normal object properties.
 
 
-### Attribute Labels <a name="attribute-labels"></a>
+### Attribute Labels <span id="attribute-labels"></span>
 
 When displaying values or getting input for attributes, you often need to display some labels associated
 with attributes. For example, given an attribute named `firstName`, you may want to display a label `First Name`
@@ -151,7 +151,7 @@ is being used in, you may return different labels for the same attribute.
   in models is often very convenient and can result in very clean and reusable code.
 
 
-## Scenarios <a name="scenarios"></a>
+## Scenarios <span id="scenarios"></span>
 
 A model may be used in different *scenarios*. For example, a `User` model may be used to collect user login inputs,
 but it may also be used for the user registration purpose. In different scenarios, a model may use different
@@ -226,7 +226,7 @@ You can, however, use it for other purposes. For example, you may declare [attri
 differently based on the current scenario.
 
 
-## Validation Rules <a name="validation-rules"></a>
+## Validation Rules <span id="validation-rules"></span>
 
 When the data for a model is received from end users, it should be validated to make sure it satisfies
 certain rules (called *validation rules*, also known as *business rules*). For example, given a `ContactForm` model,
@@ -298,7 +298,7 @@ An attribute will be validated if and only if it is an active attribute declared
 is associated with one or multiple active rules declared in `rules()`.
 
 
-## Massive Assignment <a name="massive-assignment"></a>
+## Massive Assignment <span id="massive-assignment"></span>
 
 Massive assignment is a convenient way of populating a model with user inputs using a single line of code.
 It populates the attributes of a model by assigning the input data directly to the [[yii\base\Model::$attributes]]
@@ -321,7 +321,7 @@ $model->body = isset($data['body']) ? $data['body'] : null;
 ```
 
 
-### Safe Attributes <a name="safe-attributes"></a>
+### Safe Attributes <span id="safe-attributes"></span>
 
 Massive assignment only applies to the so-called *safe attributes* which are the attributes listed in
 [[yii\base\Model::scenarios()]] for the current [[yii\base\Model::scenario|scenario]] of a model.
@@ -362,7 +362,7 @@ public function rules()
 ```
 
 
-### Unsafe Attributes <a name="unsafe-attributes"></a>
+### Unsafe Attributes <span id="unsafe-attributes"></span>
 
 As described above, the [[yii\base\Model::scenarios()]] method serves for two purposes: determining which attributes
 should be validated, and determining which attributes are safe. In some rare cases, you may want to validate
@@ -387,7 +387,7 @@ $model->secret = $secret;
 ```
 
 
-## Data Exporting <a name="data-exporting"></a>
+## Data Exporting <span id="data-exporting"></span>
 
 Models often need to be exported in different formats. For example, you may want to convert a collection of
 models into JSON or Excel format. The exporting process can be broken down into two independent steps.
@@ -413,7 +413,7 @@ In fact, it is the default way of exporting models in RESTful Web service develo
 the [Response Formatting](rest-response-formatting.md).
 
 
-### Fields <a name="fields"></a>
+### Fields <span id="fields"></span>
 
 A field is simply a named element in the array that is obtained by calling the [[yii\base\Model::toArray()]] method
 of a model.
@@ -474,7 +474,7 @@ public function fields()
 > to filter out `auth_key`, `password_hash` and `password_reset_token`.
 
 
-## Best Practices <a name="best-practices"></a>
+## Best Practices <span id="best-practices"></span>
 
 Models are the central places to represent business data, rules and logic. They often need to be reused
 in different places. In a well-designed application, models are usually much fatter than
diff --git a/docs/guide/structure-modules.md b/docs/guide/structure-modules.md
index 37e6364..5cec961 100644
--- a/docs/guide/structure-modules.md
+++ b/docs/guide/structure-modules.md
@@ -8,7 +8,7 @@ often viewed as mini-applications. Modules differ from [applications](structure-
 modules cannot be deployed alone and must reside within applications.
 
 
-## Creating Modules <a name="creating-modules"></a>
+## Creating Modules <span id="creating-modules"></span>
 
 A module is organized as a directory which is called the [[yii\base\Module::basePath|base path]] of the module.
 Within the directory, there are sub-directories, such as `controllers`, `models`, `views`, which hold controllers,
@@ -27,7 +27,7 @@ forum/
 ```
 
 
-### Module Classes <a name="module-classes"></a>
+### Module Classes <span id="module-classes"></span>
 
 Each module should have a unique module class which extends from [[yii\base\Module]]. The class should be located
 directly under the module's [[yii\base\Module::basePath|base path]] and should be [autoloadable](concept-autoloading.md).
@@ -80,7 +80,7 @@ return [
 ```
 
 
-### Controllers in Modules <a name="controllers-in-modules"></a>
+### Controllers in Modules <span id="controllers-in-modules"></span>
 
 When creating controllers in a module, a convention is to put the controller classes under the `controllers`
 sub-namespace of the namespace of the module class. This also means the controller class files should be
@@ -104,7 +104,7 @@ property. In case some of the controllers are outside of this namespace, you may
 by configuring the [[yii\base\Module::controllerMap]] property, similar to [what you do in an application](structure-applications.md#controller-map).
 
 
-### Views in Modules <a name="views-in-modules"></a>
+### Views in Modules <span id="views-in-modules"></span>
 
 Views in a module should be put in the `views` directory within the module's [[yii\base\Module::basePath|base path]].
 For views rendered by a controller in the module, they should be put under the directory `views/ControllerID`,
@@ -118,7 +118,7 @@ the [[yii\base\Module::layout]] property to point to the layout name. If you do 
 the application's layout will be used instead.
 
 
-## Using Modules <a name="using-modules"></a>
+## Using Modules <span id="using-modules"></span>
 
 To use a module in an application, simply configure the application by listing the module in
 the [[yii\base\Application::modules|modules]] property of the application. The following code in the
@@ -140,7 +140,7 @@ represents a *module ID* which uniquely identifies the module among all modules 
 array value is a [configuration](concept-configurations.md) for creating the module.
 
 
-### Routes <a name="routes"></a>
+### Routes <span id="routes"></span>
 
 Like accessing controllers in an application, [routes](structure-controllers.md#routes) are used to address
 controllers in a module. A route for a controller within a module must begin with the module ID followed by
@@ -151,7 +151,7 @@ will determine which controller/action should be used. This means a route `forum
 controller in the `forum` module.
 
 
-### Accessing Modules <a name="accessing-modules"></a>
+### Accessing Modules <span id="accessing-modules"></span>
 
 Within a module, you may often need to get the instance of the [module class](#module-classes) so that you can
 access the module ID, module parameters, module components, etc. You can do so by using the following statement:
@@ -190,7 +190,7 @@ $maxPostCount = $module->params['maxPostCount'];
 ```
 
 
-### Bootstrapping Modules <a name="bootstrapping-modules"></a>
+### Bootstrapping Modules <span id="bootstrapping-modules"></span>
 
 Some modules may need to be run for every request. The [[yii\debug\Module|debug]] module is such an example.
 To do so, list the IDs of such modules in the [[yii\base\Application::bootstrap|bootstrap]] property of the application.
@@ -210,7 +210,7 @@ For example, the following application configuration makes sure the `debug` modu
 ```
 
 
-## Nested Modules <a name="nested-modules"></a>
+## Nested Modules <span id="nested-modules"></span>
 
 Modules can be nested in unlimited levels. That is, a module can contain another module which can contain yet
 another module. We call the former *parent module* while the latter *child module*. Child modules must be declared
@@ -244,7 +244,7 @@ to its parent. The [[yii\base\Application::loadedModules]] property keeps a list
 direct children and nested ones, indexed by their class names.
 
 
-## Best Practices <a name="best-practices"></a>
+## Best Practices <span id="best-practices"></span>
 
 Modules are best used in large applications whose features can be divided into several groups, each consisting of
 a set of closely related features. Each such feature group can be developed as a module which is developed and
diff --git a/docs/guide/structure-views.md b/docs/guide/structure-views.md
index 3363f69..2212ea0 100644
--- a/docs/guide/structure-views.md
+++ b/docs/guide/structure-views.md
@@ -9,7 +9,7 @@ to facilitate view composition and rendering. For simplicity, we often call view
 as views.
 
 
-## Creating Views <a name="creating-views"></a>
+## Creating Views <span id="creating-views"></span>
 
 As aforementioned, a view is simply a PHP script mixed with HTML and PHP code. The following is the view
 that presents a login form. As you can see, PHP code is used to generate the dynamic content, such as the
@@ -48,7 +48,7 @@ or other objects which trigger the [view rendering](#rendering-views).
   be recognized by IDEs. It is also a good way of documenting your views.
 
 
-### Security <a name="security"></a>
+### Security <span id="security"></span>
 
 When creating views that generate HTML pages, it is important that you encode and/or filter the data coming
 from end users before presenting them. Otherwise, your application may be subject to
@@ -84,7 +84,7 @@ use yii\helpers\HtmlPurifier;
   [caching](caching-overview.md) the filtering result if your application requires high performance.
 
 
-### Organizing Views <a name="organizing-views"></a>
+### Organizing Views <span id="organizing-views"></span>
 
 Like [controllers](structure-controllers.md) and [models](structure-models.md), there are conventions to organize views.
 
@@ -101,7 +101,7 @@ You may customize these default view directories by overriding the [[yii\base\Vi
 method of controllers or widgets.
 
 
-## Rendering Views <a name="rendering-views"></a>
+## Rendering Views <span id="rendering-views"></span>
 
 You can render views in [controllers](structure-controllers.md), [widgets](structure-widgets.md), or any
 other places by calling view rendering methods. These methods share a similar signature shown as follows,
@@ -116,7 +116,7 @@ methodName($view, $params = [])
 ```
 
 
-### Rendering in Controllers <a name="rendering-in-controllers"></a>
+### Rendering in Controllers <span id="rendering-in-controllers"></span>
 
 Within [controllers](structure-controllers.md), you may call the following controller methods to render views:
 
@@ -158,7 +158,7 @@ class PostController extends Controller
 ```
 
 
-### Rendering in Widgets <a name="rendering-in-widgets"></a>
+### Rendering in Widgets <span id="rendering-in-widgets"></span>
 
 Within [widgets](structure-widgets.md), you may call the following widget methods to render views.
 
@@ -189,7 +189,7 @@ class ListWidget extends Widget
 ```
 
 
-### Rendering in Views <a name="rendering-in-views"></a>
+### Rendering in Views <span id="rendering-in-views"></span>
 
 You can render a view within another view by calling one of the following methods provided by the [[yii\base\View|view component]]:
 
@@ -207,7 +207,7 @@ as the view being currently rendered. Remember that `$this` in a view refers to 
 ```
 
 
-### Rendering in Other Places <a name="rendering-in-other-places"></a>
+### Rendering in Other Places <span id="rendering-in-other-places"></span>
 
 In any place, you can get access to the [[yii\base\View|view]] application component by the expression
 `Yii::$app->view` and then call its aforementioned methods to render a view. For example,
@@ -218,7 +218,7 @@ echo \Yii::$app->view->renderFile('@app/views/site/license.php');
 ```
 
 
-### Named Views <a name="named-views"></a>
+### Named Views <span id="named-views"></span>
 
 When you render a view, you can specify the view using either a view name or a view file path/alias. In most cases,
 you would use the former because it is more concise and flexible. We call views specified using names as *named views*.
@@ -248,7 +248,7 @@ actually render the view file `@app/views/post/view.php`, while calling `$this->
 will render the view file `@app/views/post/_overview.php`.
 
 
-### Accessing Data in Views <a name="accessing-data-in-views"></a>
+### Accessing Data in Views <span id="accessing-data-in-views"></span>
 
 There are two approaches to access data within a view: push and pull.
 
@@ -280,7 +280,7 @@ on context objects. Its drawback is that you need to manually build the data arr
 become tedious and error prone if a view is shared and rendered in different places.
 
 
-### Sharing Data among Views <a name="sharing-data-among-views"></a>
+### Sharing Data among Views <span id="sharing-data-among-views"></span>
 
 The [[yii\base\View|view component]] provides the [[yii\base\View::params|params]] property that you can use
 to share data among views.
@@ -302,7 +302,7 @@ passed along [[yii\base\View::params|params]]:
 ```
 
 
-## Layouts <a name="layouts"></a>
+## Layouts <span id="layouts"></span>
 
 Layouts are a special type of views that represent the common parts of multiple views. For example, the pages
 for most Web applications share the same page header and footer. While you can repeat the same page header and footer
@@ -310,7 +310,7 @@ in every view, a better way is to do this once in a layout and embed the renderi
 an appropriate place in the layout.
 
 
-### Creating Layouts <a name="creating-layouts"></a>
+### Creating Layouts <span id="creating-layouts"></span>
 
 Because layouts are also views, they can be created in the similar way as normal views. By default, layouts
 are stored in the directory `@app/views/layouts`. For layouts used within a [module](structure-modules.md),
@@ -371,7 +371,7 @@ the places where these methods are called.
   be replaced by the registered HTML code (e.g. JavaScript) targeted at the body end position.
 
 
-### Accessing Data in Layouts <a name="accessing-data-in-layouts"></a>
+### Accessing Data in Layouts <span id="accessing-data-in-layouts"></span>
 
 Within a layout, you have access to two predefined variables: `$this` and `$content`. The former refers to
 the [[yii\base\View|view]] component, like in normal views, while the latter contains the rendering result of a content
@@ -382,7 +382,7 @@ the [Accessing Data in Views](#accessing-data-in-views) subsection. If you want 
 to a layout, you may use the method described in the [Sharing Data among Views](#sharing-data-among-views) subsection.
 
 
-### Using Layouts <a name="using-layouts"></a>
+### Using Layouts <span id="using-layouts"></span>
 
 As described in the [Rendering in Controllers](#rendering-in-controllers) subsection, when you render a view
 by calling the [[yii\base\Controller::render()|render()]] method in a controller, a layout will be applied
@@ -437,7 +437,7 @@ determined in the first step. The layout value can be:
 If the layout value does not contain a file extension, it will use the default one `.php`.
 
 
-### Nested Layouts <a name="nested-layouts"></a>
+### Nested Layouts <span id="nested-layouts"></span>
 
 Sometimes you may want to nest one layout in another. For example, in different sections of a Web site, you
 want to use different layouts, while all these layouts share the same basic layout that generates the overall
@@ -459,7 +459,7 @@ specifies what is the parent layout. It can be either a layout file or alias.
 Using the above approach, you can nest layouts in more than one levels.
 
 
-### Using Blocks <a name="using-blocks"></a>
+### Using Blocks <span id="using-blocks"></span>
 
 Blocks allow you to specify the view content in one place while displaying it in another. They are often used together
 with layouts. For example, you can define a block in a content view and display it in the layout.
@@ -520,7 +520,7 @@ not defined.
 ```
 
 
-## Using View Components <a name="using-view-components"></a>
+## Using View Components <span id="using-view-components"></span>
 
 [[yii\base\View|View components]] provides many view-related features. While you can get view components
 by creating individual instances of [[yii\base\View]] or its child class, in most cases you will mainly use
@@ -551,7 +551,7 @@ View components provide the following useful view-related features, each describ
 You may also frequently use the following minor yet useful features when you are developing Web pages.
 
 
-### Setting Page Titles <a name="setting-page-titles"></a>
+### Setting Page Titles <span id="setting-page-titles"></span>
 
 Every Web page should have a title. Normally the title tag is being displayed in a [layout](#layouts). However, in practice
 the title is often determined in content views rather than layouts. To solve this problem, [[yii\web\View]] provides
@@ -572,7 +572,7 @@ Then in the layout, make sure you have the following code in the `<head>` sectio
 ```
 
 
-### Registering Meta Tags <a name="registering-meta-tags"></a>
+### Registering Meta Tags <span id="registering-meta-tags"></span>
 
 Web pages usually need to generate various meta tags needed by different parties. Like page titles, meta tags
 appear in the `<head>` section and are usually generated in layouts.
@@ -606,7 +606,7 @@ $this->registerMetaTag(['name' => 'description', 'content' => 'This website is a
 ```
 
 
-### Registering Link Tags <a name="registering-link-tags"></a>
+### Registering Link Tags <span id="registering-link-tags"></span>
 
 Like [meta tags](#registering-meta-tags), link tags are useful in many cases, such as customizing favicon, pointing to
 RSS feed or delegating OpenID to another server. You can work with link tags in the similar way as meta tags
@@ -631,7 +631,7 @@ Similar as [[yii\web\View::registerMetaTag()|registerMetaTags()]], you can speci
 [[yii\web\View::registerLinkTag()|registerLinkTag()]] to avoid generating repeated link tags.
 
 
-## View Events <a name="view-events"></a>
+## View Events <span id="view-events"></span>
 
 [[yii\base\View|View components]] trigger several events during the view rendering process. You may respond
 to these events to inject content into views or process the rendering results before they are sent to end users.
@@ -655,7 +655,7 @@ For example, the following code injects the current date at the end of the page 
 ```
 
 
-## Rendering Static Pages <a name="rendering-static-pages"></a>
+## Rendering Static Pages <span id="rendering-static-pages"></span>
 
 Static pages refer to those Web pages whose main content are mostly static without the need of accessing
 dynamic data pushed from controllers.
@@ -703,7 +703,7 @@ for this view under the directory `@app/views/site/pages`. You may configure [[y
 to change the directory for searching these views.
 
 
-## Best Practices <a name="best-practices"></a>
+## Best Practices <span id="best-practices"></span>
 
 Views are responsible for presenting models in the format that end users desire. In general, views
 
diff --git a/docs/guide/structure-widgets.md b/docs/guide/structure-widgets.md
index 919dbaa..0529b27 100644
--- a/docs/guide/structure-widgets.md
+++ b/docs/guide/structure-widgets.md
@@ -19,7 +19,7 @@ In the following, we will introduce the basic knowledge about widgets. Please re
 if you want to learn about the usage of a particular widget.
 
 
-## Using Widgets <a name="using-widgets"></a>
+## Using Widgets <span id="using-widgets"></span>
 
 Widgets are primarily used in [views](structure-views.md). You can call the [[yii\base\Widget::widget()]] method
 to use a widget in a view. The method takes a [configuration](concept-configurations.md) array for initializing
@@ -69,7 +69,7 @@ Note that unlike [[yii\base\Widget::widget()]] which returns the rendering resul
 [[yii\base\Widget::begin()]] returns an instance of the widget which you can use to build the widget content.
 
 
-## Creating Widgets <a name="creating-widgets"></a>
+## Creating Widgets <span id="creating-widgets"></span>
 
 To create a widget, extend from [[yii\base\Widget]] and override the [[yii\base\Widget::init()]] and/or
 [[yii\base\Widget::run()]] methods. Usually, the `init()` method should contain the code that normalizes the widget
@@ -175,7 +175,7 @@ stands for the directory containing the widget class file. Therefore, the above 
 the [[yii\base\Widget::getViewPath()]] method to customize the directory containing the widget view files.
 
 
-## Best Practices <a name="best-practices"></a>
+## Best Practices <span id="best-practices"></span>
 
 Widgets are an object-oriented way of reusing view code.
 
diff --git a/docs/guide/tutorial-console.md b/docs/guide/tutorial-console.md
index 8c0e7d9..388db40 100644
--- a/docs/guide/tutorial-console.md
+++ b/docs/guide/tutorial-console.md
@@ -7,7 +7,7 @@ Yii has full featured support for console applications, whose structure is very 
 consists of one or more [[yii\console\Controller]] classes, which are often referred to as "commands" in the console environment. Each controller can also have one or more actions, just like web controllers.
 
 
-Usage <a name="usage"></a>
+Usage <span id="usage"></span>
 -----
 
 You execute a console controller action using the following syntax:
@@ -30,7 +30,7 @@ In the above `yii` is the console application entry script which is described be
 > glob that will be replaced by all file names of the current directory.
 
 
-Entry script <a name="entry-script"></a>
+Entry script <span id="entry-script"></span>
 ------------
 
 The console application entry script is equivalent to the `index.php` bootstrap file used for the web application.
@@ -65,7 +65,7 @@ not want to see a stack trace on error, and/or if you want to improve the overal
 templates, the console application entry script has debugging enabled by default to provide a more developer-friendly environment.
 
 
-Configuration <a name="configuration"></a>
+Configuration <span id="configuration"></span>
 -------------
 
 As can be seen in the code above, the console application uses its own configuration file, named `console.php`. In this file
@@ -85,7 +85,7 @@ parts into a separate file, and including this file in both of the application c
 > ```
 
 
-Creating your own console commands <a name="create-command"></a>
+Creating your own console commands <span id="create-command"></span>
 ----------------------------------
 
 ### Console Controller and Action
diff --git a/docs/guide/tutorial-core-validators.md b/docs/guide/tutorial-core-validators.md
index 92fbc5a..d7f7825 100644
--- a/docs/guide/tutorial-core-validators.md
+++ b/docs/guide/tutorial-core-validators.md
@@ -19,7 +19,7 @@ The [[yii\validators\Validator::builtInValidators]] property declares all suppor
 In the following, we will describe the main usage and properties of every core validator.
 
 
-## [[yii\validators\BooleanValidator|boolean]] <a name="boolean"></a>
+## [[yii\validators\BooleanValidator|boolean]] <span id="boolean"></span>
 
 ```php
 [
@@ -42,7 +42,7 @@ This validator checks if the input value is a boolean.
   [[yii\validators\BooleanValidator::strict|strict]] property as false.
 
 
-## [[yii\captcha\CaptchaValidator|captcha]] <a name="captcha"></a>
+## [[yii\captcha\CaptchaValidator|captcha]] <span id="captcha"></span>
 
 ```php
 [
@@ -60,7 +60,7 @@ to make sure an input is the same as the verification code displayed by [[yii\ca
   which means the input is required.
   
 
-## [[yii\validators\CompareValidator|compare]] <a name="compare"></a>
+## [[yii\validators\CompareValidator|compare]] <span id="compare"></span>
 
 ```php
 [
@@ -93,7 +93,7 @@ is as specified by the `operator` property.
      * `<=`: check if value being validated is less than or equal to the value being compared with.
 
 
-## [[yii\validators\DateValidator|date]] <a name="date"></a>
+## [[yii\validators\DateValidator|date]] <span id="date"></span>
 
 ```php
 [
@@ -121,7 +121,7 @@ or `1970-01-01` in the input field of a date picker.
 [['from_date', 'to_date'], 'default', 'value' => null],
 ```
 
-## [[yii\validators\DefaultValueValidator|default]] <a name="default"></a>
+## [[yii\validators\DefaultValueValidator|default]] <span id="default"></span>
 
 ```php
 [
@@ -155,7 +155,7 @@ function foo($model, $attribute) {
   in the [Empty Values](input-validation.md#handling-empty-inputs) section.
 
 
-## [[yii\validators\NumberValidator|double]] <a name="double"></a>
+## [[yii\validators\NumberValidator|double]] <span id="double"></span>
 
 ```php
 [
@@ -170,7 +170,7 @@ This validator checks if the input value is a double number. It is equivalent to
 - `min`: the lower limit (inclusive) of the value. If not set, it means the validator does not check the lower limit.
 
 
-## [[yii\validators\EmailValidator|email]] <a name="email"></a>
+## [[yii\validators\EmailValidator|email]] <span id="email"></span>
 
 ```php
 [
@@ -190,7 +190,7 @@ This validator checks if the input value is a valid email address.
   or an exception would be thrown.
 
 
-## [[yii\validators\ExistValidator|exist]] <a name="exist"></a>
+## [[yii\validators\ExistValidator|exist]] <span id="exist"></span>
 
 ```php
 [
@@ -234,7 +234,7 @@ either a single column or multiple columns.
   this property cannot be set true if you are validating against multiple columns by setting `targetAttribute` as an array.
 
 
-## [[yii\validators\FileValidator|file]] <a name="file"></a>
+## [[yii\validators\FileValidator|file]] <span id="file"></span>
 
 ```php
 [
@@ -266,7 +266,7 @@ This validator checks if the input is a valid uploaded file.
 section for complete coverage about uploading files and performing validation about the uploaded files.
 
 
-## [[yii\validators\FilterValidator|filter]] <a name="filter"></a>
+## [[yii\validators\FilterValidator|filter]] <span id="filter"></span>
 
 ```php
 [
@@ -303,7 +303,7 @@ back to the attribute being validated.
 > ```
 
 
-## [[yii\validators\ImageValidator|image]] <a name="image"></a>
+## [[yii\validators\ImageValidator|image]] <span id="image"></span>
 
 ```php
 [
@@ -325,7 +325,7 @@ validation purpose:
 - `maxHeight`: the maximum height of the image. Defaults to null, meaning no upper limit.
 
 
-## [[yii\validators\RangeValidator|in]] <a name="in"></a>
+## [[yii\validators\RangeValidator|in]] <span id="in"></span>
 
 ```php
 [
@@ -345,7 +345,7 @@ This validator checks if the input value can be found among the given list of va
   every element in the array must be found in the given list of values, or the validation would fail.
 
 
-## [[yii\validators\NumberValidator|integer]] <a name="integer"></a>
+## [[yii\validators\NumberValidator|integer]] <span id="integer"></span>
 
 ```php
 [
@@ -360,7 +360,7 @@ This validator checks if the input value is an integer.
 - `min`: the lower limit (inclusive) of the value. If not set, it means the validator does not check the lower limit.
 
 
-## [[yii\validators\RegularExpressionValidator|match]] <a name="match"></a>
+## [[yii\validators\RegularExpressionValidator|match]] <span id="match"></span>
 
 ```php
 [
@@ -378,7 +378,7 @@ This validator checks if the input value matches the specified regular expressio
    successful only if the input value does NOT match the pattern.
 
 
-## [[yii\validators\NumberValidator|number]] <a name="number"></a>
+## [[yii\validators\NumberValidator|number]] <span id="number"></span>
 
 ```php
 [
@@ -393,7 +393,7 @@ This validator checks if the input value is a number. It is equivalent to the [d
 - `min`: the lower limit (inclusive) of the value. If not set, it means the validator does not check the lower limit.
 
 
-## [[yii\validators\RequiredValidator|required]] <a name="required"></a>
+## [[yii\validators\RequiredValidator|required]] <span id="required"></span>
 
 ```php
 [
@@ -415,7 +415,7 @@ This validator checks if the input value is provided and not empty.
   in the [Empty Values](input-validation.md#handling-empty-inputs) section.
 
 
-## [[yii\validators\SafeValidator|safe]] <a name="safe"></a>
+## [[yii\validators\SafeValidator|safe]] <span id="safe"></span>
 
 ```php
 [
@@ -428,7 +428,7 @@ This validator does not perform data validation. Instead, it is used to mark an 
 a [safe attribute](structure-models.md#safe-attributes).
 
 
-## [[yii\validators\StringValidator|string]] <a name="string"></a>
+## [[yii\validators\StringValidator|string]] <span id="string"></span>
 
 ```php
 [
@@ -451,7 +451,7 @@ This validator checks if the input value is a valid string with certain length.
   [[yii\base\Application::charset|charset]] value which defaults to `UTF-8`.
 
 
-## [[yii\validators\FilterValidator|trim]] <a name="trim"></a>
+## [[yii\validators\FilterValidator|trim]] <span id="trim"></span>
 
 ```php
 [
@@ -464,7 +464,7 @@ This validator does not perform data validation. Instead, it will trim the surro
 the input value. Note that if the input value is an array, it will be ignored by this validator.
 
 
-## [[yii\validators\UniqueValidator|unique]] <a name="unique"></a>
+## [[yii\validators\UniqueValidator|unique]] <span id="unique"></span>
 
 ```php
 [
@@ -502,7 +502,7 @@ either a single column or multiple columns.
   is the [[yii\db\Query|Query]] object that you can modify in the function.
 
 
-## [[yii\validators\UrlValidator|url]] <a name="url"></a>
+## [[yii\validators\UrlValidator|url]] <span id="url"></span>
 
 ```php
 [
diff --git a/docs/guide/tutorial-i18n.md b/docs/guide/tutorial-i18n.md
index 2e41851..eed0544 100644
--- a/docs/guide/tutorial-i18n.md
+++ b/docs/guide/tutorial-i18n.md
@@ -498,7 +498,7 @@ Formatting Number and Date values
 See the [data formatter section](output-formatter.md) for details.
 
 
-Setting up your PHP environment <a name="setup-environment"></a>
+Setting up your PHP environment <span id="setup-environment"></span>
 -------------------------------
 
 Yii uses the [PHP intl extension](http://php.net/manual/en/book.intl.php) to provide most of its internationalization features
diff --git a/docs/guide/tutorial-shared-hosting.md b/docs/guide/tutorial-shared-hosting.md
index ea0f453..5aa2613 100644
--- a/docs/guide/tutorial-shared-hosting.md
+++ b/docs/guide/tutorial-shared-hosting.md
@@ -10,7 +10,7 @@ Deploying basic application
 Since there's typically only one webroot it is recommended to use basic application template. Refer to
 [Installing Yii chapter](start-installation.md) and install application template locally.
 
-### Add extras for webserver <a name="add-extras-for-webserver"></a>
+### Add extras for webserver <span id="add-extras-for-webserver"></span>
 
 If webserver used is Apache you'll need to add `.htaccess` file with the following content to `web`
 (where `index.php` is):
@@ -31,7 +31,7 @@ RewriteRule . index.php
 
 In case of nginx you should not need any extra config files.
 
-### Renaming webroot <a name="renaming-webroot"></a>
+### Renaming webroot <span id="renaming-webroot"></span>
 
 If after connecting to your shared hosting via FTP or by other means you're seeing something like the following, you're
 most probably lucky.
diff --git a/docs/guide/tutorial-yii-integration.md b/docs/guide/tutorial-yii-integration.md
index 6408f90..df728ca 100644
--- a/docs/guide/tutorial-yii-integration.md
+++ b/docs/guide/tutorial-yii-integration.md
@@ -5,13 +5,13 @@ From time to time, you may need to use some third-party code in your Yii applica
 use Yii as a library in some third-party systems. In this section, we will show how to achieve these goals.
 
 
-Using Third-Party Libraries in Yii <a name="using-libs-in-yii"></a>
+Using Third-Party Libraries in Yii <span id="using-libs-in-yii"></span>
 ----------------------------------
 
 To use a third-party library in a Yii application, you mainly need to make sure the classes in the library
 are properly included or can be autoloaded.
 
-### Using Composer Packages <a name="using-composer-packages"></a>
+### Using Composer Packages <span id="using-composer-packages"></span>
 
 Many third-party libraries are released in terms of [Composer](https://getcomposer.org/) packages.
 You can install such libraries by taking the following two simple steps:
@@ -31,7 +31,7 @@ require(__DIR__ . '/../vendor/autoload.php');
 require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
 ```
 
-### Using Downloaded Libraries <a name="using-downloaded-libs"></a>
+### Using Downloaded Libraries <span id="using-downloaded-libs"></span>
 
 If a library is not released as a Composer package, you should follow its installation instructions to install it.
 In most cases, you will need to download a release file manually and unpack it in the `BasePath/vendor` directory,
@@ -70,7 +70,7 @@ Yii::$classMap['Class2'] = 'path/to/Class2.php';
 ```
 
 
-Using Yii in Third-Party Systems <a name="using-yii-in-others"></a>
+Using Yii in Third-Party Systems <span id="using-yii-in-others"></span>
 --------------------------------
 
 Because Yii provides many excellent features, sometimes you may want to use some of its features to support
@@ -117,7 +117,7 @@ Now you can use most features provided by Yii. For example, you can create Activ
 to work with databases.
 
 
-Using Yii 2 with Yii 1 <a name="using-both-yii2-yii1"></a>
+Using Yii 2 with Yii 1 <span id="using-both-yii2-yii1"></span>
 ----------------------
 
 If you were using Yii 1 previously, it is likely you have a running Yii 1 application. Instead of rewriting
diff --git a/extensions/apidoc/helpers/ApiMarkdown.php b/extensions/apidoc/helpers/ApiMarkdown.php
index 0bbd872..776931f 100644
--- a/extensions/apidoc/helpers/ApiMarkdown.php
+++ b/extensions/apidoc/helpers/ApiMarkdown.php
@@ -8,7 +8,6 @@
 namespace yii\apidoc\helpers;
 
 use cebe\markdown\GithubMarkdown;
-use phpDocumentor\Reflection\DocBlock\Type\Collection;
 use yii\apidoc\models\TypeDoc;
 use yii\apidoc\renderers\BaseRenderer;
 use yii\helpers\Inflector;
@@ -82,7 +81,7 @@ class ApiMarkdown extends GithubMarkdown
     {
         $content = $this->renderAbsy($block['content']);
         $hash = Inflector::slug(strip_tags($content));
-        $hashLink = "<a href=\"#$hash\" name=\"$hash\" class=\"hashlink\">&para;</a>";
+        $hashLink = "<a href=\"#$hash\" id=\"$hash\" class=\"hashlink\">&para;</a>";
 
         $tag = 'h' . $block['level'];
         return "<$tag>$content $hashLink</$tag>";
diff --git a/extensions/apidoc/templates/html/views/constSummary.php b/extensions/apidoc/templates/html/views/constSummary.php
index b1e852b..c5b3a86 100644
--- a/extensions/apidoc/templates/html/views/constSummary.php
+++ b/extensions/apidoc/templates/html/views/constSummary.php
@@ -33,7 +33,7 @@ ArrayHelper::multisort($constants, 'name');
     </tr>
     <?php foreach ($constants as $constant): ?>
         <tr<?= $constant->definedBy != $type->name ? ' class="inherited"' : '' ?> id="<?= $constant->name ?>">
-          <td><?= $constant->name ?><a name="<?= $constant->name ?>-detail"></a></td>
+          <td id="<?= $constant->name ?>-detail"><?= $constant->name ?></td>
           <td><?= $constant->value ?></td>
           <td><?= ApiMarkdown::process($constant->shortDescription . "\n" . $constant->description, $constant->definedBy, true) ?></td>
           <td><?= $renderer->createTypeLink($constant->definedBy) ?></td>
diff --git a/extensions/apidoc/templates/html/views/type.php b/extensions/apidoc/templates/html/views/type.php
index 04b0975..b968dbb 100644
--- a/extensions/apidoc/templates/html/views/type.php
+++ b/extensions/apidoc/templates/html/views/type.php
@@ -84,18 +84,18 @@ $renderer = $this->context;
     <?= $this->render('seeAlso', ['object' => $type]) ?>
 </div>
 
-<a name="properties"></a>
+<a id="properties"></a>
 <?= $this->render('@yii/apidoc/templates/html/views/propertySummary', ['type' => $type, 'protected' => false]) ?>
 <?= $this->render('@yii/apidoc/templates/html/views/propertySummary', ['type' => $type, 'protected' => true]) ?>
 
-<a name="methods"></a>
+<a id="methods"></a>
 <?= $this->render('@yii/apidoc/templates/html/views/methodSummary', ['type' => $type, 'protected' => false]) ?>
 <?= $this->render('@yii/apidoc/templates/html/views/methodSummary', ['type' => $type, 'protected' => true]) ?>
 
-<a name="events"></a>
+<a id="events"></a>
 <?= $this->render('@yii/apidoc/templates/html/views/eventSummary', ['type' => $type]) ?>
 
-<a name="constants"></a>
+<a id="constants"></a>
 <?= $this->render('@yii/apidoc/templates/html/views/constSummary', ['type' => $type]) ?>
 
 <?= $this->render('@yii/apidoc/templates/html/views/propertyDetails', ['type' => $type]) ?>