diff --git a/aio/content/guide/observables.md b/aio/content/guide/observables.md
index 280ea6201cf2d6..7b2cf0b8770904 100644
--- a/aio/content/guide/observables.md
+++ b/aio/content/guide/observables.md
@@ -1,4 +1,4 @@
-# Usando observable spara pasar valores
+# Usando observables para pasar valores
Los observables proporcionan soporte al pase de mensajes entre partes de su aplicación.
Se usan frecuentemente en Angular y son la técnica recomendada para el manejo de eventos, programación asíncrona y manejar valores múltiples.
@@ -33,19 +33,18 @@ Un manejador para recibir notificaciones de un observable implementa la interfac
| `error` | Opcional. Un manejador para una notificación de error. Un error detiene la ejecución de la instancia observable. |
| `complete` | Opcional. Un manejador de la notificación "ejecución completa". Los valores retrasados pueden seguir siendo entregados al siguiente manejador después de que la ejecución se completa. |
-Un objeto observador puede difinir cualquier combinación de estos manejadores, Si no provee un método para un tipo de notificación, el observador ignora notificaciones de ese tipo.
+Un objeto observador puede definir cualquier combinación de estos manejadores, Si no provee un método para un tipo de notificación, el observador ignora notificaciones de ese tipo.
## Suscribiéndose
-Una instancia `Observable` empieza publicando valores sólo cuando alguien se suscribe a ésta. Se suscribe llamando al método `subscribe()` de la instancia, pasando un objeto observer para recibir las notificaciones.
+Una instancia `Observable` empieza publicando valores sólo cuando alguien se suscribe a ésta llamando al método `subscribe()` de la instancia, pasando un objeto observer para recibir las notificaciones.
-
En orden para mostrar cómo funcionan las suscripciones, necesitamos crear un observable. Hay un constructor que se usa para crear nuevas instancias, pero a manera ilustrativa, podemos usar algunos médotos de la librería RxJS que crea observables simples de tipos usados frecuentemente:
* `of(...items)`—Retorna una instancia `Observable` que entrega sincrónicamente los valores envíados como argumentos.
- * `from(iterable)`—Convierte sus argumentos a una instancia `Observable`. Éste método es usado comúnmente para convertir un arreglo en un observable.
+ * `from(iterable)`—Convierte sus argumentos a una instancia `Observable`. Éste método es usado comúnmente para convertir un array en un observable.
@@ -62,7 +61,7 @@ Alternativamente, el método `subscribe()` puede aceptar funciónes retrollamada
En cualquier caso, un manejador `next`es necesario. Los manejadores `error` y `complete` son opcionales.
-Tome en cuenta que la función `next()` puede recibir, por ejemplo, cadenas de mensajes, eventos de objetos, valores numérics o estructuras, dependiendo del contexto. Como un término general, nos referimos a la data publicada por un observable como un *stream*. Cualquier tipo de valor puede representarse con un observable y los valores publicados como un stream.
+Tome en cuenta que la función `next()` puede recibir, por ejemplo, cadenas de mensajes, eventos de objetos, valores numéricos o estructuras, dependiendo del contexto. Como un término general, nos referimos a la data publicada por un observable como un *stream*. Cualquier tipo de valor puede representarse con un observable y los valores publicados como un stream.
## Creando observables
@@ -80,7 +79,7 @@ Ahora puede usar esta función para crear un observable que publica eventos de p
-## Multidifusión
+## Multidifusión (Multicasting)
Un observable típico crea una ejecución nueva e independiente para cada observador suscrito. Cuando un observador se suscribe, el observable conecta un manejador de evento y entrega valores a ese observador. Cuando un segundo observador se suscribe, el observable conecta a un nuevo manejador de eventos y entrega valores a el segundo observador en una ejecución separada.
@@ -109,7 +108,7 @@ Cambiando al observable a multidifusión se vería similar a esta manera:
## Manejo de errores
-Como los observable producen valores de manera asíncrona, try/catch no va a agarrar errrores efectivamente. Los errores se manejan especificando una retrollamada `error` en el observador. Produciendo un error también causa que el observable limpie sus suscripciones y deje de producir valores. Un observable puede producir (haciendo retrollamada a `next`), o puede completar, con la retrollamda `complete` o `error`.
+Como los observable producen valores de manera asíncrona, try/catch no va a detectar errores efectivamente. Los errores se manejan especificando una retrollamada `error` en el observador. Produciendo un error también causa que el observable limpie sus suscripciones y deje de producir valores. Un observable puede producir (haciendo retrollamada a `next`), o puede completar, con la retrollamda `complete` o `error`.
myObservable.subscribe({