Convenciones
Contenido
Cómo se escriben botones, avisos, errores y estados vacíos en Eclipse.
Eclipse le habla a alguien que va a una clase, no a un usuario de un sistema. La voz es la de la recepción de un buen estudio: cercana, clara y breve, que te dice qué pasó y qué sigue. Todo lo de aquí sale de cómo ya habla la app; donde la app se contradice, esta página decide.
La voz
| Regla | Qué significa | En la app hoy |
|---|---|---|
| Tú, siempre | Nunca usted ni «el usuario». «Tu paquete vence en 3 días», «Recibirás un correo». | «usted» ×0 |
| Español de México | $1,350 con coma de miles y punto decimal; «correo», no «e-mail»; «celular», no «móvil». | config/locales/es.yml fija el formato mexicano |
| Mayúscula de oración | Solo la primera palabra y los nombres propios: «Guardar cambios», «Mis clases», «Vinyasa Flow». | conviven «Mis clases» y «Mis Clases»: gana la primera |
| Lo concreto primero | La clase, la hora, la maestra, el número: «Reformer, mañana a las 7:00 AM con Ana». | — |
| Sin relleno | Fuera «exitosamente», «por favor» en errores y «¿Estás seguro?» sin decir de qué. | «exitosamente» ×0 |
| Sin jerga | Nada de códigos, nombres de servicios ni de modelos: «tarjeta rechazada», no «card_declined»; «talla», no «variante». | — |
Las palabras de tu marca
Una cosa, una palabra. En un estudio, por ejemplo: Clase (no sesión), reserva y reservar (más corto que reservación, y es lo que dicen los componentes), crédito, paquete (créditos que vencen) y plan (la suscripción), lista de espera, maestra o maestro (con su nombre cuando se pueda: «con Ana»), alumna o alumno en el admin.
La metáfora de Eclipse
Eclipse es el instante en que la luz y la luna quedan en una sola línea: la alineación perfecta. Es la idea detrás del producto (la base, la personalidad de cada marca y la experiencia de sus clientes, alineadas) y se nota en tres lugares: el nombre, la marca de la luna y el medidor de cupo, donde la luz es el lugar libre y una clase llena es un eclipse total.
La metáfora es de Eclipse UI, no de tu marca. Va en el catálogo, en la documentación y en los momentos de cierre de una pieza propia. En tu app habla tu marca: tus clientes no tienen por qué leer de órbitas ni de lunas.
| Sí | No | Por qué |
|---|---|---|
| «Todo se alinea» como cierre de una portada del catálogo | «¡Tu reserva está en perfecta alineación cósmica!» | Una vez, donde cuenta. Repetida en cada botón deja de decir algo. |
| «Clase llena» junto al eclipse total del medidor | «Eclipse total: 12 de 12» | El dibujo ya dice eclipse; el texto dice lo que el cliente necesita saber. |
| «Los guardianes que mantienen todo alineado» en Calidad | «Tu tarjeta salió de órbita» en un error de pago | En un error no hay metáforas: qué pasó y cómo arreglarlo. |
| «Alinéala con tu marca» al presentar personalidades | Lunas, órbitas y eclipses en textos legales o de cobro | Donde hay dinero o reglas, claridad antes que estilo. |
Botones y enlaces
Un verbo y lo que hace, en mayúscula de oración y sin punto: la persona debe saber qué pasa antes de tocar. Si dos botones van juntos, cada uno dice su verbo; «Aceptar» y «Cancelar» no dicen nada.
Sí
Reservar clase
El verbo de lo que de verdad pasa.
No
Enviar
Sí
Guardar cambios
Mayúscula de oración.
No
Guardar Cambios
Sí
Comprar paquete
No
Aceptar
Sí
Ver horario de la semana
El enlace dice adónde lleva, también fuera de contexto.
No
Clic aquí
Errores
Qué pasó y cómo arreglarlo, en ese orden y en una o dos frases. Sin culpa («ingresaste mal»), sin códigos y sin «Error:» al principio: el tono rojo ya lo dice.
Revisa el correo: le falta el dominio (por ejemplo, @gmail.com).
No pudimos cobrar tu paquete
Sí
Revisa el correo: le falta el dominio (por ejemplo, @gmail.com).
Dice qué falta y cómo se ve bien.
No
Correo inválido.
Sí
Tu banco rechazó la tarjeta terminada en 4242. Prueba con otra o paga en recepción.
Sin el nombre del servicio ni el código.
No
Error de Stripe: card_declined
Sí
Elige una talla para agregarlo al carrito.
«Variante» es palabra del admin, no de quien compra.
No
Selecciona una variante para continuar.
Sí
Esta clase ya se llenó. Te avisamos si se libera un lugar.
Ofrece lo que sí se puede hacer.
No
Este evento está lleno.
Confirmaciones
La pregunta con el verbo, la consecuencia y un botón con el mismo verbo. La
pregunta se responde sola («¿Cancelar tu reserva de Vinyasa Flow?»); la consecuencia dice lo que
no es obvio (el crédito, quién se entera, si se puede deshacer); el botón de salida dice qué
conservas. Lo destructivo va en tono danger y lo irreversible, además, se mantiene
presionado.
Sí
¿Cancelar tu reserva de Vinyasa Flow? Faltan menos de 12 horas: el crédito no se devuelve. Cancelar reserva Conservar mi lugar
Sin leer más, se sabe qué se cancela y qué se pierde.
No
¿Estás seguro? Esta acción no se puede deshacer. Aceptar Cancelar
Sí
¿Eliminar a Ana López? Se borrarán también sus reservas, paquetes y pagos.
No
¿Eliminar?
Estados vacíos
Un vacío es un punto de partida: qué falta, por qué importa y la acción que lo llena. El título describe la situación, no el sistema.
Aún no tienes clases reservadas
Elige un horario y reserva tu lugar; aquí verás la hora, la maestra y cómo cancelar.
Sí
Aún no tienes clases reservadas. Elige un horario y reserva tu lugar. Ver horario
No
No hay datos.
Sí
Sin cancelaciones esta semana. Cuando alguien cancele, la verás aquí con su crédito devuelto.
En el admin también se explica qué aparecería.
No
0 resultados
Avisos
Lo que acaba de pasar, en pasado y en una línea: «Reserva confirmada», «Clase creada». Si se puede deshacer, el aviso trae Deshacer. Los signos de admiración son para celebrar (la primera clase, el paquete comprado), no para cada guardado, y siempre abren (¡) y cierran.
Sí
Clase creada.
No
Clase creada exitosamente.
Sí
Cancelaste tu reserva de Reformer. Te devolvimos 1 crédito. Deshacer
Dice qué pasó con lo que le importa: su crédito.
No
¡Operación realizada con éxito!
Sí
¡Te damos la bienvenida a Luna Estudio!
Sin género y con el signo de apertura.
No
Bienvenido a Luna Estudio!
Fechas, horas, dinero y créditos
Calculados aquí con el mismo código que usan los componentes, para la fecha de hoy: si la app cambia de formato, esta tabla cambia con ella.
| Qué | Así | No | De dónde |
|---|---|---|---|
| Día corto | sáb 17 oct | 17/10/2026, sáb. 17 oct. | l(date, format: "%a %-d %b") sin punto |
| Día largo | sábado 17 de octubre | Sábado, 17 de octubre | "%A %-d de %B", en minúscula |
| Hora | 7:00 AM | 07:00 hrs, 07:00 am | strftime("%-l:%M %p"), como las tarjetas |
| Día y hora | sáb 17 oct · 7:00 AM | 17 de oct 07:00 | el punto medio separa |
| Horario | 7:00 – 7:50 AM | 7:00 AM - 7:50 AM | raya corta y AM/PM una vez |
| Cuándo, cerca | hace 3 horas | 15 de octubre de 2026 14:58 | DataTableComponent.relative_time |
| Duración | 50 min · 1 h 15 min | 50 minutos, 0:50 | tarjetas de clase |
| Dinero | $1,350 · $1,350.50 | $1,350.00, 1.350 $, MXN 1350 | centavos solo si los hay: DataTableComponent.money |
| Créditos | 1 crédito · 3 créditos | 3 crédito, 3 crédito(s) | pluralize con plural: (ver abajo) |
| Cupo | 8 lugares disponibles · Últimos 2 lugares · Llena | 4/12 sin contexto, «Cupo: 33%» | tarjeta de clase y el medidor |
| Números | 12,480 · 83% · #37 | 12.480, 83 % | number_with_delimiter con el locale es |
Plurales
pluralizenecesitaplural:. Con el locale en español,pluralize(3, "crédito")da hoy «3 crédito» (calculado en esta página): Rails no trae reglas de plural en español. Escribepluralize(n, "crédito", plural: "créditos")o usat(".creditos", count: n)conone:yother:.- El cero se dice con palabras cuando es un estado: «Sin créditos», «Sin reservas esta semana». En una tabla o un contador, 0.
- El número va pegado a su palabra («3 créditos», «12 lugares»); nunca «créditos: 3».
- Género del grupo: si no se sabe, el sustantivo que no lo marca («personas», «quienes reservaron») antes que «alumnos/as».