Skip to content

Commit 9de0f10

Browse files
committed
Spanish translation
1 parent 94a2fcb commit 9de0f10

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+3039
-1
lines changed

LANGS.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
* [English](en/)
2-
* [Japanese](ja/)
2+
* [Spanish](es/)
3+
* [Japanese](ja/)

es/README.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Introducción
2+
3+
Volt es un web framework donde tu código Ruby corre tanto en el servidor como en el cliente (por medio de [opal](https://github.com/opal/opal)). El DOM se actualiza al mismo tiempo que el usuario interactua con la página. El estado de la página puede ser guardado en el url. Si el usuario ingresa la url directamente, el HTML se carga primero en el servidor (para una carga mas rápida y una mejor indexación en motores de busqueda) para luego ser manejada en el cliente.
4+
5+
En lugar de sincronizar los datos entre el cliente y el servidor por http, Volt usa una conección permanente. Cuando los datos son actualizados en un cliente específico estos cambios se reflejan tanto en la base como en otros clientes (sin ninguna configuración adicional).
6+
7+
El HTML se escribe en un lenguaje de templating donde puedes ingresar código ruby entre ```{{``` y ```}}```. Volt usa programación reactiva para propagar automáticamente los actualizaciones al DOM (o cualquier parte del código que necesita saber cuando los datos han sido cambiados). Cuando una parte del DOM cambia, Volt actualiza solo los nodos que necesitan ser actualizados.
8+
9+
Adicional a la documentación, puedes obtener mas ayuda en los siguientes videos:
10+
11+
- [Volt Todos Example](https://www.youtube.com/watch?v=KbFtIt7-ge8)
12+
- [What Is Volt in 6 Minutes](https://www.youtube.com/watch?v=P27EPQ4ne7o)
13+
- [Pagination Example](https://www.youtube.com/watch?v=1uanfzMLP9g)
14+
- [Routes and Templates](https://www.youtube.com/watch?v=1yNMP3XR6jU)
15+
- [Isomorphic App Development - RubyConf 2014](https://www.youtube.com/watch?v=7i6AL7Walc4)
16+
17+
O revisa las aplicaciones de demostración:
18+
- https://github.com/voltrb/todomvc
19+
- https://github.com/voltrb/blog5
20+

es/SUMMARY.md

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Resumen
2+
3+
* [Introducción](README.md)
4+
* [Objetivos](introduction/README.md)
5+
* [Tutorial](tutorial/README.md)
6+
* [Ejemplo de aplicación de tareas](tutorial/a_sample_todo_app.md)
7+
* [Mas funcionalidad de aplicación de tareas](tutorial/todo_functionality.md)
8+
* [Docs](docs/README.md)
9+
* [Vistas](docs/views.md)
10+
* [Binding de Contenido](docs/content_binding.md)
11+
* [Binding If](docs/if_binding.md)
12+
* [Binding Each](docs/each_binding.md)
13+
* [Bindings de Atributos](docs/attribute_bindings.md)
14+
* [Bindings de Vistas](docs/view_bindings.md)
15+
* [Binding Yield](docs/yield_binding.md)
16+
* [Escape de Bindings](docs/escaping.md)
17+
* [Bindings de Eventos](docs/event_bindings.md)
18+
* [Modelos](docs/models.md)
19+
* [Colecciones Proporcionadas](docs/provided_collections.md)
20+
* [Colecciones Store](docs/store_collections.md)
21+
* [Colecciones Anidadas](docs/sub_collections.md)
22+
* [Conversión automática del modelo](docs/automatic_model_conversion.md)
23+
* [Colecciones Flash, Local, y Cookies](docs/flash_collection.md)
24+
* [Clases de Modelo](docs/model_classes.md)
25+
* [Asociaciones](docs/associations.md)
26+
* [Buffers](docs/buffers.md)
27+
* [Validaciones](docs/validations.md)
28+
* [Eventos ArrayModel](docs/arraymodel_events.md)
29+
* [Permisos](docs/permissions.md)
30+
* [Estados del Modelo](docs/model_states.md)
31+
* [Controladores](docs/controllers.md)
32+
* [Accessors Reactivos](docs/reactive_accessors.md)
33+
* [url_for y url_with](docs/url_for_and_url_with.md)
34+
* [Filtros Before/After](docs/beforeafter_actions.md)
35+
* [Callbacks y Acciones](docs/callbacks_and_actions.md)
36+
* [Obteniendo Nodos DOM de las vistas](docs/getting_view_dom_nodes.md)
37+
* [Renderizado](docs/rendering.md)
38+
* [Controladores HTTP](docs/http_controllers.md)
39+
* [Middleware](docs/middleware.md)
40+
* [Tasks](docs/tasks.md)
41+
* [Componentes](docs/components.md)
42+
* [Dependencias](docs/dependencies.md)
43+
* [Assets](docs/assets.md)
44+
* [Gemas de Componentes](docs/component_gems.md)
45+
* [Componentes por Default](docs/provided_components.md)
46+
* [Tags](docs/tags.md)
47+
* [Argumentos/Atributos de Tags](docs/tag_attributes.md)
48+
* [Rutas](docs/routes.md)
49+
* [Archivo de Rutas](docs/routes_file.md)
50+
* [Url](docs/url.md)
51+
* [Usuarios](docs/users.md)
52+
* [Channel](docs/channel.md)
53+
* [Bus de Mensajes](docs/message_bus.md)
54+
* [Testing](docs/testing.md)
55+
* [Debugging](docs/debugging.md)
56+
* [Helpers de Volt](docs/volt_helpers.md)
57+
* [Comando Volt](docs/volt_command.md)
58+
* [Lib](docs/lib.md)
59+
* [Opciones de Environment](docs/environment_options.md)
60+
* [Deployment](deployment/README.md)
61+
* [Heroku](deployment/heroku.md)
62+
* [Docker](deployment/docker.md)
63+
* [Cloud9](deployment/cloud9.md)
64+
* [Obtener Ayuda](getting_help/README.md)
65+
* [FAQ](getting_help/faq.md)
66+
* [Qué corre en el servidor vs el cliente ?](getting_help/what_runs_on_the_client_vs_server.md)
67+
* [Puedo usar jQuery? (u otras librerias para la manipulación del DOM?)](getting_help/can_i_use_jquery_or_other_dom_manipulating_js.md)
68+
* [Puedo usar las gemas de opal?](getting_help/can_i_use_opal_gems.md)
69+
* [Cuál es la diferencia entre Volt y Meteor?](getting_help/whats_the_difference_between_volt_and_meteor.md)
70+
* [Al mantenerse una conección permanente podrían ocurrir problemas de rendimiento?](getting_help/is_keeping_a_persistent_connection_open_a_performance_problem.md)
71+
* [Qué navegadores son soportados por Volt?](getting_help/what_browsers_does_volt_support.md)
72+
* [Por que se usa undescore para los accessors en lugar de [:property]](getting_help/why_use_underscore_accessors_instead_of_[property].md)
73+
* [Soporta Volt Haml, Slim, etc...](getting_help/does_volt_support_haml,_slim,_etc.md)
74+
* [Gemas de Componentes](contributing/component_gems.md)
75+
* [Contribuye](contributing/README.md)
76+

es/book.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
{
3+
"title": "Volt Introduction and Docs",
4+
"description": "Volt is a Ruby web framework where your ruby code runs on both the server and the client (via opal). The DOM automatically updates as the user interacts with the page. Page state can be stored in the URL. If the user hits a URL directly, the HTML will first be rendered on the server for faster load times and easier indexing by search engines.\n\nInstead of syncing data between the client and server via HTTP, Volt uses a persistent connection between the client and server. When data is updated on one client, it is updated in the database and any other listening clients (with almost no setup code needed).\n\nPages HTML is written in a handlebars-like template language. Volt uses data flow/reactive programming to automatically and intelligently propagate changes to the DOM (or any other code wanting to know when a value updates). When something in the DOM changes, Volt intelligently updates only the nodes that need to be changed."
5+
}

es/contributing/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Como Contribuir
2+
3+
Quieres contribuir? Genial! Tenemos la documentación completa de como contribuir
4+
aquí:
5+
https://github.com/voltrb/volt/blob/master/CONTRIBUTING.md

es/contributing/component_gems.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Gemas de Componentes
2+
3+
NOTA: Esta sección todavía está en proceso

es/deployment/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Despliegue de aplicaciones volt
2+
3+
Este capítulo trata varias opciones para el despliegue de aplicaciones Volt
4+
(proveedores cloud)

es/deployment/cloud9.md

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Cloud9
2+
3+
Para empezar en cloud9, crea una imagen de rails (esta imagen contiene lo que necesitamos). Una vez encendido, elimina el proyecto:
4+
5+
```rm -rf *```
6+
7+
Primero configuremos mongo (revisa la documentación completa para mongo aquí)
8+
9+
Inicia una nueva terminal y digita lo siguiente:
10+
11+
```
12+
mkdir data
13+
echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod
14+
chmod a+x mongod
15+
```
16+
17+
Luego puedes correr mongod con el siguiente comando:
18+
19+
```
20+
./mongod
21+
```
22+
23+
Luego instalaremos Volt.
24+
25+
```gem install volt```
26+
27+
Y crearemos un nuevo proyecto:
28+
29+
```volt new projectname```
30+
31+
ingresamos al proyecto:
32+
33+
```cd projectname```
34+
35+
Y arrancamos el servidor (en Cloud9, debes pasar el puerto y la ip del ENV)
36+
37+
```bundle exec volt server -p $PORT -b $IP```
38+
39+
Cloud9 proveé un subdominio para cada aplicación, para visitar la aplicación has click en ```Preview``` y luego en ```Preview Running Application```
40+
41+
En la versión gratuita de Cloud9, tu base mongo se apagará periódicamente (no de forma correcta).Puedes crear una base Mongo gratuita en www.mongolab.com. Crea una cuenta gratuita en mongolab y luego añade lo siguiente en config/app.rb
42+
43+
```
44+
config.db_driver = 'mongo'
45+
config.db_name = (config.app_name + '_' + Volt.env.to_s)
46+
if ENV['MONGOHQ_URL'].present?```
47+
config.db_uri = ENV['MONGOHQ_URL'] # you will have to set this on Cloud9.
48+
else
49+
config.db_host = 'localhost'
50+
config.db_port = 27017
51+
end
52+
```
53+
54+
NOTA: Si alguien puede crear una imagen customizada de Volt para cloud9, por favor hágamelo saber en el chat de gitter. Gracias!

es/deployment/docker.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
## Contenedor Docker para Volt
2+
3+
Crea un Dockerfile en tu aplicación de Volt con lo siguiente:
4+
5+
```
6+
FROM otzy007/voltframework
7+
```
8+
9+
Luego de esto puedes crear tu imagen de Docker
10+
11+
```
12+
FROM otzy007/voltframework
13+
```
14+
15+
Y correrlo:
16+
17+
```
18+
docker run --name my-volt-app -p 3000:3000 -d my-volt-app
19+
```
20+
21+
Ahora ya puedes ver tu aplicación en esta direccion: http://localhost:3000

es/deployment/heroku.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
## Heroku
2+
3+
Edita tu ```Gemfile``` y especifica tu versión de ruby, por ejemplo:
4+
5+
```ruby
6+
source 'https://rubygems.org'
7+
8+
ruby "2.1.3" # specify a Ruby version
9+
10+
gem 'volt', ~> '0.9.0'
11+
```
12+
13+
Añade un ```Procfile``` que use Thin
14+
15+
web: bundle exec thin start -p $PORT -e $RACK_ENV
16+
17+
Configura tu conección a la base de datos en ```config/app.rb```, a continuación podemos ver un ejemplo para conectar con MongoHQ. Tienes que cambiarlo para el proveedor que usarás.
18+
[MongoLab](http://www.mongolab.com) es una alternativa gratuita.
19+
20+
Puedes ver un ejemplo de aplicación deployada con heroku [aquí](https://murmuring-hollows-3078.herokuapp.com/about).

es/docs/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Documentación
2+
3+
Lo siguiente pretende documentar todo las características implementadas en Volt.
4+
Aunque el código fuente será siempre la principal fuente para obtener información
5+
al día, tratamos de mantener esta documentación lo mas actualizada posible.

es/docs/arraymodel_events.md

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Eventos ArrayModel
2+
3+
Los ArrayModels lanzan eventos cuando los datos son actualizados. Actualmente
4+
los modelos pueden generar dos eventos ```added``` y ```removed```. Por ejemplo:
5+
6+
```ruby
7+
page._items.on('added') { puts 'item added' }
8+
page._items << 1
9+
# => item added
10+
11+
page._items.on('removed') { puts 'item removed' }
12+
page._items.delete_at(0)
13+
# => item removed
14+
```
15+
16+
Esto es usado internamente para los each bindings, pero puedes usarlo
17+
en tu propio código.

es/docs/assets.md

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Assets
2+
3+
## CSS y JavaScript
4+
5+
En Volt, los archivos de assets como JavaScript y CSS (o sass) son incluidos automáticamente. Cualquier archivo que se agregue dentro de los paths assets/js o assets/cs son agregados a /assets/{js,css} (por medio de [Sprockets](https://github.com/sstephenson/sprockets)). Los tags de Link y script son agregados para cada archivo css y javascript respectivamente. Los archivos son agregados en orden léxico, por lo que puedes agregar un numero al principio del archivo si necesitas cambiar el orden con el que se va a cargar.
6+
7+
Cualquier archivo JS/CSS de un componente añadido o de una gema componente también serán incluidos. [Bootstrap](http://getbootstrap.com/) es incluido gracias a la gema volt-bootstrap
8+
9+
### Deshabilitando el auto-import de assets para agregarlos manualmente
10+
11+
Si quieres agregar los archivos de assets manualmente, puedes deshabilitar el auto-import de CSS y JS por componente especificando ```disable_auto_import``` en la parte superior del archivo ```config/dependencies.rb```. Luego puedes incluir archivos CSS y JS para cada componente manualmente usando los helpers que se muestran a continuación.
12+
13+
```disable_auto_import``` solo deshabilita la inclusión automática de JS y CSS. Archivos de tipografía, imágenes y otros assets no se verán afectados.
14+
15+
Por ejemplo, si el archivo ```config/dependencies.rb``` de tu componente luce de la siguiente manera:
16+
17+
```
18+
disable_auto_import
19+
css_file 'manifest.scss'
20+
# font awesome
21+
css_file '//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css'
22+
javascript_file 'my_js.min.js'
23+
```
24+
25+
Solo el archivo 'manifest.scss', el link CDN para la tipografía y el archivo JS minificado seran incluídos en la página.
26+
27+
##### javascript_file
28+
```javascript_file 'my_js.js'```
29+
Este helper buscará tu archivo en ```app/{component}/assets/js```.
30+
31+
##### css_file
32+
```css_file 'my_scss.scss'```
33+
Este helper buscará tu archivo en ```app/{component}/assets/css```. Puedes usarlo con archivos SCSS o CSS . Usando esto puedes crear un archivo manifest para especificar el orden de carga de los archivos de estilo.
34+
35+
## Imagenes, Tipografías y otros Assets
36+
37+
Es recomendable que las imágenes y otros assets se encuentren ubicados en ```app/{component}/assets/images``` (o fonts, etc..), luego el url para las imágenes será: ```/assets/{component}/assets/images/...```. Las imágenes y otros assets no se verán afectados por ```disable_auto_import```.
38+
39+
**Nota: asset building se encuentra todavía en construcción**

es/docs/associations.md

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Asociaciones
2+
3+
Volt proveé modelos anidados, los cuales se pueden acceder sin una declaración explícita. Aunque, por lo general tendrás que asociar otros modelos usando id's externas. Volt usa la convención de usar undescore ```_id``` para los nombres de los campos. Volt también proveé métodos como ```belongs_to``` , ```has_many``` y ```has_one``` para asociar modelos.
4+
5+
```ruby
6+
class Person < Volt::Model
7+
has_many :addresses
8+
end
9+
10+
class Address < Volt::Model
11+
belongs_to :person
12+
has_one :street
13+
end
14+
15+
class Street < Volt::Model
16+
end
17+
```
18+
19+
## Has Many
20+
21+
Puedes usar ```has_many``` para acceder a todas las instancias de otros modelos que tienen un campo ```_id``` apuntando al modelo actual. Por ejemplo si tenemos una instancia person:
22+
23+
```ruby
24+
person.addresses
25+
# => #<Volt::ArrayModel [#<Address ..>, #<Address ..>, ...]>
26+
```
27+
28+
Podemos llamar al método .addresses de person para encontrar todos los ```addresses``` con el id de person.
29+
30+
Las asociaciones ```has_many``` retornan un cursor.
31+
32+
## Has One
33+
34+
Puedes llamar ```has_one``` en un modelo para crear una asociación con un único modelo. ```has_one``` toma un símbolo para el nombre del otro modelo. Si pasamos ```:street``` en un modelo ```Address```, Volt buscará un modelo ```Street``` que tiene el address_id del id del modelo ```Address```.
35+
36+
## Belongs to
37+
38+
Puedes usar ```belongs_to``` para enlazar un modelo padre. Por ejemplo, si tenemos una instancia de ```Address```:
39+
40+
```ruby
41+
address.person.then do |person|
42+
# => person is: #<Person ...>
43+
end
44+
```
45+
46+
Las asociaciones ```belongs_to``` retornan una promesa que se resuelve con el modelo asociado.

es/docs/attribute_bindings.md

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Bindings de Atributo
2+
3+
Los bindings también pueden ser ingresados dentro de atributos
4+
5+
```html
6+
<p class="{{ if is_cool? }}cool{{ end }}">Text</p>
7+
```
8+
9+
## Bindings de atributos de dos vias
10+
11+
Volt nos permite tener elementos que actuan como enlaces de "dos vías":
12+
13+
```html
14+
<input type="text" value="{{ _name }}" />
15+
```
16+
17+
Si la variable ```_name``` cambia, el valor del text-box cambiará automáticamente. El enlace llama a ```_name``` en el controlador para obtener el valor de esa variable. Cuando un usuario escribe en el text box, su método setter sera invocado en el controlador. En este caso se llamará a ```_name=``` en el controlador y el nuevo valor sera guardado. Esto nos da el efecto de un enlace de dos vías, pero también tienes la capacidad de cambiar como los datos son actualizados ( definiendo otro setter, por ejemplo)
18+
19+
## CheckBoxes
20+
21+
En el siguiente ejemplo, si ```_name``` cambia, el campo se actualizará, y si el campo es actualizado por el usuario, ```_name``` tambien cambiará.
22+
23+
```html
24+
<input type="checkbox" checked="{{ _checked }}" />
25+
```
26+
27+
Si el valor ingresado es ```true```, el checkbox se marcara como checked. El valor sera marcado o desmarcado si el valor es ```true``` o ```false``` respectivamente.
28+
29+
## Radio Buttons
30+
31+
Los radio buttons también estan enlazados a un estado, solo que en lugar de tener un valor booleano esto se obtienen del valor del campo seleccionado.
32+
33+
```html
34+
<input type="radio" checked="{{ _radio }}" value="one" />
35+
<input type="radio" checked="{{ _radio }}" value="two" />
36+
```
37+
38+
Cuando un valor se selecciona en el radio button, este cambio se verá reflejado a su vez en el campo enlazado, sin importar el valor anterior. Cuando el valor enlazado se cambia, cualquier campo en cualquier radio button que tenga el mismo valor que la variable será marcado.
39+
40+
## Select Boxes
41+
42+
Los select boxes se pueden enlazar a cualquier valor. (esto no lo puedes hacer con html normal, es una característica propia de Volt).
43+
44+
```html
45+
<select value="{{ _rating }}">
46+
<option value="1">*</option>
47+
<option value="2">**</option>
48+
<option value="3">***</option>
49+
<option value="4">****</option>
50+
<option value="5">*****</option>
51+
</select>
52+
```
53+
54+
Cuando el valor seleccionado cambia, la variable ```_rating``` también será cambiada. Cuando ```_rating``` cambia el valor seleccionado es cambiado con el primer valor que concuerde. Si no se encuentra ningún valor en el select box este se marca como no seleccionado.

0 commit comments

Comments
 (0)