From a6b5e62f017decc0e45815c8a8f58b6403bab650 Mon Sep 17 00:00:00 2001 From: Larnu Date: Mon, 6 Oct 2014 18:04:45 +0200 Subject: [PATCH] fix grammar, typo and translate conventions --- docs/guide-es/concept-configurations.md | 12 +++---- .../images/application-lifecycle.graphml | 2 +- .../guide-es/images/application-lifecycle.png | Bin 37006 -> 40097 bytes .../guide-es/images/application-structure.png | Bin 15874 -> 15309 bytes docs/guide-es/runtime-overview.md | 14 ++++---- docs/guide-es/structure-filters.md | 4 +-- docs/guide-es/structure-models.md | 10 +++--- docs/guide-es/structure-modules.md | 31 +++++++++--------- docs/guide-es/structure-widgets.md | 2 +- docs/internals-es/translation-workflow.md | 9 ++--- 10 files changed, 41 insertions(+), 43 deletions(-) diff --git a/docs/guide-es/concept-configurations.md b/docs/guide-es/concept-configurations.md index f058603d39..8176140041 100644 --- a/docs/guide-es/concept-configurations.md +++ b/docs/guide-es/concept-configurations.md @@ -1,4 +1,4 @@ -Configuración +Configuración ============== Las configuraciones se utilizan ampliamente en Yii al crear nuevos objetos o inicializar los objetos existentes. Las configuraciones por lo general incluyen el nombre de la clase del objeto que se está creando, y una lista de los valores iniciales que deberían ser asignadas a las del [propiedades](concept-properties.md) objeto. Las configuraciones también pueden incluir una lista de manipuladores que deban imponerse a del objeto [eventos](concept-events.md) y/o una lista de [comportamientos](concept-behaviors.md) que también ha de atribuirse al objeto. @@ -42,7 +42,7 @@ El formato de una configuración se puede describir formalmente como: donde * El elemento `class` especifica un nombre de clase completo para el objeto que se está creando. -* Los elementos `propertyName` especifica los valores iniciales de la propiedad con nombre. Las claves son los nombres de las propiedades y los valores son los valores iniciales correspondientes. Sólo los miebros de variables públicas y [propiedades](concept-properties.md) definidas por getters/setters se pueden configurar. +* Los elementos `propertyName` especifica los valores iniciales de la propiedad con nombre. Las claves son los nombres de las propiedades y los valores son los valores iniciales correspondientes. Sólo los miembros de variables públicas y [propiedades](concept-properties.md) definidas por getters/setters se pueden configurar. * Los elementos `on eventName` especifican qué manipuladores deberán adjuntarse al del objeto [eventos](concept-events.md). Observe que las claves de matriz se forman prefijando nombres de eventos con `on`. Por favor, consulte la sección [Eventos](concept-events.md) para los formatos de controlador de eventos compatibles. * Los elementos `as behaviorName` especifican qué [comportamientos](concept-behaviors.md) deben adjuntarse al objeto. Observe que las claves de matriz se forman prefijando nombres de comportamiento con `as`; el valor, `$behaviorConfig`, representa la configuración para la creación de un comportamiento, como una configuración normal descrita aquí. @@ -130,7 +130,7 @@ echo Menu::widget([ ]); ``` -El código anterior crea un widget `Menu` e inicializa su propiedad `activeItems` en falsa. La propiedad `items` también se configura con elementos de menu que se muestran. +El código anterior crea un widget `Menu` e inicializa su propiedad `activeItems` en falsa. La propiedad `items` también se configura con elementos de menú que se muestran. 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`. @@ -187,7 +187,7 @@ $config = require('path/to/web.php'); ## Configuraciones por Defecto -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 codigo [bootstrapping](runtime-bootstrapping.md). +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). Por ejemplo, si desea personalizar [[yii\widgets\LinkPager]] para que TODO enlace de búsqueda muestre como máximo 5 botones de página (el valor por defecto es 10), puede utilizar el siguiente código para lograr este objetivo, @@ -213,9 +213,7 @@ Usted puede definir `YII_ENV` como uno de los valores siguientes: - `dev`: entorno de desarrollo. La constante `YII_ENV_DEV` evaluará como verdadero. - `test`: entorno de pruebas. La constante `YII_ENV_TEST` evaluará como verdadero. -Con estas constantes de entorno, puede especificar sus configuraciones condicionales basado en -el entorno actual. Por ejemplo, la configuración de la aplicación puede contener el siguiente -código para permitir que el [depurador y barra de herramientas de depuración](tool-debugger.md) en el entorno de desarrollo. +Con estas constantes de entorno, puede especificar sus configuraciones condicionales basado en el entorno actual. Por ejemplo, la configuración de la aplicación puede contener el siguiente código para permitir que el [depurador y barra de herramientas de depuración](tool-debugger.md) en el entorno de desarrollo. ```php $config = [...]; diff --git a/docs/guide-es/images/application-lifecycle.graphml b/docs/guide-es/images/application-lifecycle.graphml index 49bbfba708..533eaf084b 100644 --- a/docs/guide-es/images/application-lifecycle.graphml +++ b/docs/guide-es/images/application-lifecycle.graphml @@ -219,7 +219,7 @@ - interpretar vista + renderizar vista diff --git a/docs/guide-es/images/application-lifecycle.png b/docs/guide-es/images/application-lifecycle.png index 046749fabe1475034e4d82c7fa9cb261003fd915..554d64bf47f5fd3340ab0bf6d6ccef20a072cbbc 100644 GIT binary patch literal 40097 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 diff --git a/docs/guide-es/images/application-structure.png b/docs/guide-es/images/application-structure.png index b0199c954318934f611ad39639e944696b2800a8..4d120c2b31e3ff77256c8cd2bde3ea4a7caf0ede 100644 GIT binary patch literal 15309 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: Cuando se declaran filtros en módulos o aplicaciones, deben usarse [rutas](structure-controllers.md#routes) en lugar de identificadores de acciones en las propiedades [[yii\base\ActionFilter::only|only]] y [[yii\base\ActionFilter::except|except]]. -Esto es debido a que los identificadores de acciones no pueden especificar acciones dentro del ámbito de un modulo o una aplicación por si mismos. +>Nota: Cuando se declaran filtros en módulos o aplicaciones, deben usarse [rutas](structure-controllers.md#routes) en lugar de IDs de acciones en las propiedades [[yii\base\ActionFilter::only|only]] y [[yii\base\ActionFilter::except|except]]. +Esto es debido a que los IDs de acciones no pueden especificar acciones dentro del ámbito de un modulo o una aplicación por si mismos. Cuando se configuran múltiples filtros para una misma acción, se aplican de acuerdo a las siguientes reglas: diff --git a/docs/guide-es/structure-models.md b/docs/guide-es/structure-models.md index e80cf475a6..294bff9e87 100644 --- a/docs/guide-es/structure-models.md +++ b/docs/guide-es/structure-models.md @@ -1,4 +1,4 @@ -Modelos +Modelos ====== Los modelos forman parte de la arquitectura [MVC](http://es.wikipedia.org/wiki/Modelo%E2%80%93vista%E2%80%93controlador). Son objetos que representan datos de negocio, reglas y lógica. @@ -11,7 +11,7 @@ Se pueden crear clases modelo extendiendo a [[yii\base\Model]] o a sus clases hi * [validación](#validation-rules): asegura la validez de los datos de entrada basándose en reglas declaradas; * [Exportación de datos](#data-exporting): permite que los datos del modelo sean exportados en términos de arrays con formatos personalizables. -La clase 'modelo' también es una base base para modelos más avanzados, tales como [Registros Activos](db-active-record.md). +La clase 'modelo' también es una base para modelos más avanzados, tales como [Registros Activos](db-active-record.md). >Info: No es obligatorio basar las clases modelo en [[yii\base\Model]]. Sin embargo, debido a que hay muchos componentes de Yii construidos para dar soporte a [[yii\base\Model]], por lo general es la clase base preferible para un modelo. @@ -370,13 +370,13 @@ En resumen, los modelos: * pueden contener atributos para representar los datos de negocio; * pueden contener reglas de validación para asegurar la validez e integridad de los datos; * pueden contener métodos que para implementar la lógica de negocio; -* NO deben acceder directamente a peticiones, sesiones, o otro tipo de datos de entorno. Estos datos deben ser inyectados por los [controladores](structure-controllers.md) en los modelos. -* deben evitar embeber HTML o otro código de presentación – esto es mejor hacerlo en las [vistas](structure-views.md); +* NO deben acceder directamente a peticiones, sesiones, u otro tipo de datos de entorno. Estos datos deben ser inyectados por los [controladores](structure-controllers.md) en los modelos. +* deben evitar embeber HTML u otro código de presentación – esto es mejor hacerlo en las [vistas](structure-views.md); * evitar tener demasiados [escenarios](#scenarios) en un mismo modelo. Generalmente se puede considerar la última recomendación cuando se estén desarrollando grandes sistemas complejos. En estos sistemas, los modelos podrían ser muy grandes debido a que podrían ser usados en muchos lugares y por tanto contener muchos conjuntos de reglas y lógicas de negocio. A menudo esto desemboca en un código muy difícil de mantener ya que una simple modificación en el código puede afectar a muchos sitios diferentes. Para mantener el código más fácil de mantener, se puede seguir la siguiente estrategia: -* Definir un conjunto de clases modelo base que sean compartidas por diferentes [aplicaciones](structure-applications.md) o [módulos](structure-modules.md). Estas clases modelo deben contener el conjuntos mínimos de reglas y lógica que sean comunes para todos sus usos. +* Definir un conjunto de clases modelo base que sean compartidas por diferentes [aplicaciones](structure-applications.md) o [módulos](structure-modules.md). Estas clases modelo deben contener el conjunto mínimo de reglas y lógica que sean comunes para todos sus usos. * En cada [aplicación](structure-applications.md) o [módulo](structure-modules.md) que use un modelo, definir una clase modelo concreta que extienda a la correspondiente clase modelo base. La clase modelo concreta debe contener reglas y lógica que sean específicas para esa aplicación o módulo. Por ejemplo, en la [Plantilla de Aplicación Avanzada](tutorial-advanced-app.md), definiendo una clase modelo base 'common\models\Post'. Después en la aplicación front end, definiendo y usando una clase modelo concreta 'frontend\models\Post' que extienda a 'common\models\Post'. Y de forma similar en la aplicación back end, definiendo 'backend\models\Post'. Con esta estrategia, nos aseguramos que el código de 'frontend\models\Post' es específico para la aplicación front end, y si se efectúa algún cambio en el, no nos tenemos que preocupar de si el cambio afectará a la aplicación back end. diff --git a/docs/guide-es/structure-modules.md b/docs/guide-es/structure-modules.md index 4501ec896d..461c9a5cf7 100644 --- a/docs/guide-es/structure-modules.md +++ b/docs/guide-es/structure-modules.md @@ -1,4 +1,4 @@ -Módulos +Módulos ======= Los módulos son unidades de software independientes que consisten en [modelos](structure-models.md), [vistas](structure-views.md), [controladores](structure-controllers.md), y otros componentes de apoyo. Los usuarios finales pueden acceder a los controladores de un módulo cuando éste está instalado en la [aplicación](structure-applications.md). Por éstas razones, los módulos a menudo se considerados como 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. @@ -50,7 +50,7 @@ public function init() } ``` -donde el archivo de configuracion ‘config.php’ puede contaner el siguiente contenido, similar al de [configuraciones de aplicacion](structure-applications.md#application-configurations). +donde el archivo de configuración ‘config.php’ puede contener el siguiente contenido, similar al de [configuraciones de aplicación](structure-applications.md#application-configurations). ```php -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 clase controlador deben ponerse en el directorio ‘controllers’ dentro del [[yii\base\Module::basePath|base path]] del módulo. Por ejemplo, para crear un controlador ‘post’ en el módulo ‘forum’ mostrado en la última subdivisión, se debe declarar la clase controlador de la siguiente manera: +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 clase controlador deben ponerse en el directorio ‘controllers’ dentro del [[yii\base\Module::basePath|base path]] del módulo. Por ejemplo, para crear un controlador ‘post’ en el módulo ‘forum’ mostrado en la última subdivisión, se debe declarar la clase controlador de la siguiente manera: ```php namespace app\modules\forum\controllers; @@ -79,13 +79,13 @@ class PostController extends Controller } ``` -Se puede personalizar el espacio de nombres de las clases controlador configurando la propiedad [[yii\base\Module::controllerNamespace]]. En el caso que alguno de los controladores esté fuera del espacio de nombres, se puede hacer acesible configurando la propiedad [[yii\base\Module::controllerMap]], similar a [como se hace en una aplicación](structure-applications.md#controller-map). +Se puede personalizar el espacio de nombres de las clases controlador configurando la propiedad [[yii\base\Module::controllerNamespace]]. En el caso que alguno de los controladores esté fuera del espacio de 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 -Las vistas en un módulo deben deben alojarse en el directorio ‘views’ dentro del módulo del [[yii\base\Module::basePath|base path]]. Las vistas interpretadas por un controlador en el módulo, deben alojarse en el directorio ‘views/ControllerID’, donde el ‘ControllerID’ hace referencia al [identificador del controlador](structure-controllers.md#routes). Por ejemplo, si la clase controlador es ‘PostController’, el directorio sería ‘views/post’ dentro del [[yii\base\Module::basePath|base path]] del módulo. +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 directorio ‘views/ControllerID’, donde el ‘ControllerID’ hace referencia al [ID del controlador](structure-controllers.md#routes). Por ejemplo, si la clase controlador es ‘PostController’, el directorio sería ‘views/post’ dentro del [[yii\base\Module::basePath|base path]] del módulo. -Un modulo puede especificar un [layout](structure-views.md#layouts) que se aplica a las vistas interpretadas por los controladores del módulo. El layout debe alojarse en el directorio ‘views/layouts’ por defecto, y se puede configurar 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. +Un modulo puede especificar un [layout](structure-views.md#layouts) que se aplica a las vistas renderizadas por los controladores del módulo. El layout debe alojarse en el directorio ‘views/layouts’ por defecto, y se puede configurar 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 @@ -102,35 +102,35 @@ Para usar un módulo en una aplicación, simplemente se tiene que configurar la ] ``` -La propiedad [[yii\base\Application::modules|modules]] contiene un array de configuraciones de módulo. Cada clave del array representa un *identificador 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. +La propiedad [[yii\base\Application::modules|modules]] contiene un array de configuraciones de módulo. Cada clave del 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 -De Igual manera que el acceso a los controladores en una aplicacion, 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 con el identificador del módulo seguido por el identificador del controlador y el identificador de la acción. Por ejemplo, si una aplicación usa un módulo llamado ‘forum’, la ruta ‘forum/post/index’ representaría la acción ‘index’ del controlador ‘post’ en el módulo. Si la ruta sólo contiene el identificador del módulo, entonces la propiedad [[yii\base\Module::defaultRoute]] que por 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’. +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 con el ID del módulo seguido por el ID del controlador y el ID de la acción. Por ejemplo, si una aplicación usa un módulo llamado ‘forum’, la ruta ‘forum/post/index’ representaría la acción ‘index’ del controlador ‘post’ en el módulo. Si la ruta sólo contiene el ID del módulo, entonces la propiedad [[yii\base\Module::defaultRoute]] que por 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 -Dentro de un módulo, se puede necesitar obtener la instancia de la [clase módulo](#module-classes) para poder acceder al identificador del módulo, componentes del módulo, etc. Se puede hacer usando la siguiente declaración: +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: ```php $module = MyModuleClass::getInstance(); ``` -donde ‘MyModuleClass’ hace referencia al nombre de la clase módulo en la que estemos interesados. El método ‘getInstance()’ devolverá la instancia actualmente solicitada de la clase módulo. Si no se solicita el módulo, el método devolverá nulo. Hay que tener en cuenta que si se crea una nueva instancia del módulo, esta será diferente a la creada por Yii en respuesta a la solicitud. +Dónde ‘MyModuleClass’ hace referencia al nombre de la clase módulo en la que estemos interesados. El método ‘getInstance()’ devolverá la instancia actualmente solicitada de la clase módulo. Si no se solicita el módulo, el método devolverá nulo. Hay que tener en cuenta que si se crea una nueva instancia del módulo, esta será diferente a la creada por Yii en respuesta a la solicitud. ->Info: Cuando se desarrolla un módulo, no se debe dar por sentado que el módulo usará un identificador fijo. Esto se debe a que un módulo puede asociarse a un identificador arbitrario cuando se usa en una aplicación o dentro de otro módulo. Para obtener el identificador del módulo, primero se debe usar el código del anterior ejemplo para obtener la instancia y luego el identificador mediante ‘$modeule->id’. +>Info: Cuando se desarrolla un módulo, no se debe dar por sentado que el módulo usará un ID fijo. Esto se debe a que un módulo puede asociarse a un ID arbitrario cuando se usa en una aplicación o dentro de otro módulo. Para obtener el ID del módulo, primero se debe usar el código del anterior ejemplo para obtener la instancia y luego el ID mediante ‘$modeule->id’. También se puede acceder a la instancia de un módulo usando las siguientes declaraciones: ```php -// obtiene el modulo hijo cuyo identificador es “forum” +// obtiene el modulo hijo cuyo ID es “forum” $module = \Yii::$app->getModule('forum'); // obtiene el módulo al que pertenece la petición actual $module = \Yii::$app->controller->module; ``` -El primer ejemplo sólo es útil cuando conocemos el identificador del módulo, mientras que el segundo es mejor usarlo cuando conocemos los controladores que se están solicitando. +El primer ejemplo sólo es útil cuando conocemos el ID del módulo, mientras que el segundo es mejor usarlo cuando conocemos los controladores que se están solicitando. Una vez obtenida la instancia del módulo, se puede acceder a parámetros o componentes registrados con el módulo. Por ejemplo: @@ -140,7 +140,7 @@ $maxPostCount = $module->params['maxPostCount']; ### Bootstrapping Módulos -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 identificadores de los módulos en la propiedad [[yii\base\Application::bootstrap|bootstrap]] de la aplicación. +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 [[yii\base\Application::bootstrap|bootstrap]] de la aplicación. Por ejemplo, la siguiente configuración de aplicación se asegura de que el módulo ‘debug’ siempre se cargue: @@ -179,7 +179,7 @@ class Module extends \yii\base\Module } ``` -En un controlador dentro de un módulo anidado, la ruta debe incluir el identificador de todos los módulos antecesores. Por ejemplo, la ruta ‘forum/admin/dashboard/index’ representa la acción ‘index’ del controlador ‘dashboard’ en el módulo ‘admin’ que es el módulo hijo del módulo ‘forum’. +En un controlador dentro de un módulo anidado, la ruta debe incluir el ID de todos los módulos antecesores. Por ejemplo, la ruta ‘forum/admin/dashboard/index’ representa la acción ‘index’ del controlador ‘dashboard’ en el módulo ‘admin’ que es el módulo hijo del módulo ‘forum’. >Info: El método [[yii\base\Module::getModule()|getModule()]] sólo devuelve el módulo hijo que pertenece 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. @@ -188,4 +188,3 @@ En un controlador dentro de un módulo anidado, la ruta debe incluir el identifi 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 desarrollar como un módulo que puede ser desarrollado y mantenido por un programador o equipo específico. Los módulos también son una buena manera de reutilizar código a nivel de grupo de funcionalidades. Algunas funcionalidades de uso común, tales como la gestión de usuarios o la gestión de comentarios, pueden ser desarrollados como módulos para que puedan ser fácilmente reutilizados en futuros proyectos. - diff --git a/docs/guide-es/structure-widgets.md b/docs/guide-es/structure-widgets.md index c128089df1..389647b49e 100644 --- a/docs/guide-es/structure-widgets.md +++ b/docs/guide-es/structure-widgets.md @@ -151,7 +151,7 @@ Los widgets son una manera orientada a objetos de reutilizar código de las vist Cuando se crean widgets, se debería continuar manteniendo el patrón MVC. En general, se debería mantener la lógica en las clases del widget y mantener la presentación en las [vistas](structure-views.md). -Los widgets deberían ser diseñados para ser autónomos. Es decir, cuando se usa un widget, se debería poder poner en una vista sin hacer nada más. Esto puede resultar complicado si un widget requiere recursos externos, tales como CSS, JavaScript, imágenes, etc. Afortunadamente Yii proporciona soporte para [paquetes asset](structure-asset-bundles.md) que pueden ser utilizados para resolver el problema. +Los widgets deberían ser diseñados para ser autónomos. Es decir, cuando se usa un widget, se debería poder poner en una vista sin hacer nada más. Esto puede resultar complicado si un widget requiere recursos externos, tales como CSS, JavaScript, imágenes, etc. Afortunadamente Yii proporciona soporte para [paquetes de recursos](structure-asset-bundles.md) que pueden ser utilizados para resolver el problema. Cuando un widget sólo contiene código de vista, este es muy similar a una [vista](structure-views.md). De hecho, en este caso, su única diferencia es que un widget es una clase redistribuible, mientras que una vista es sólo un script PHP llano que prefiere mantenerse dentro de su aplicación. diff --git a/docs/internals-es/translation-workflow.md b/docs/internals-es/translation-workflow.md index 62e22ac706..1d2d409eac 100644 --- a/docs/internals-es/translation-workflow.md +++ b/docs/internals-es/translation-workflow.md @@ -1,7 +1,7 @@ -Flujo de Trabajo de Traducción +Flujo de Trabajo de Traducción ============================== -Yii se traduce en muchos idiomas con el fin de ser útil para desarrolladores de aplicaciones y internacionales. Dos áreas principales donde la contribución es muy bienvenida son la documentación y los mensajes del framework. +Yii se traduce en muchos idiomas con el fin de ser útil para desarrolladores de aplicaciones e internacionales. Dos áreas principales donde la contribución es muy bienvenida son la documentación y los mensajes del framework. Framework Mensajes ------------------ @@ -31,7 +31,7 @@ Después del trabajo inicial se lleva a cabo usted puede conseguir lo que ha cam php build translation "../docs/guide" "../docs/guide-es" "Reporte de traducción guia en Español" > report_guide_es.html ``` -Si se quejan de composer, realizar `composer install` en el fuente del directorio principal. +Si se quejan de composer, ejecutar `composer install` en el directorio raíz. Convenios para la traducción ---------------------------- @@ -55,5 +55,6 @@ Convenios para la traducción - themes — temas o plantillas - behaviors — comportamientos - handlers — manipuladores -- instantiating — intanciando +- instantiating — instanciando - link — enlace +- render – sin traducción