21834ec9a0
CI / build-and-test (pull_request) Successful in 2m24s
Adds a non-chart dashboard widget: a large value with its label, an optional signed delta versus the previous period, and an optional sparkline. Four tiles now sit above the charts, 3x1 each. - KpiTile draws no surface of its own and fills the grid item's, styled from the --dialect-* token layer; the delta's up/down colors are new tokens rather than literals, so they follow the light/dark toggle. - Value and delta share one row: stacking them costs a line the tile does not have at its default height of one grid cell. - SparklineChart is a chrome-free line chart built on DialectTheme, so it shares the palette and font with the real charts. - ApexCharts' sparkline.enabled drops the axes on the initial render but updateOptions (how the theme toggle recolors a chart) brings the y-axis labels back; they are hidden in CSS, which reaches the chart SVG since it renders into light DOM. The registry registration the issue asks for is left out: #21 is blocked, so there is no widget picker to register with yet. The tiles are wired into DashboardView the same way the chart widgets are, and their values come from the translation bundle until the data service (#20) lands. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0124BiJikbhbiEsNfJxdWM69
119 lines
3.0 KiB
Properties
119 lines
3.0 KiB
Properties
# Spanish
|
||
|
||
app.title=Chart App
|
||
action.themeToggle=Cambiar esquema de color
|
||
action.language=Cambiar idioma
|
||
lang.de=Deutsch
|
||
lang.en=English
|
||
lang.es=Español
|
||
|
||
nav.dashboard=Panel
|
||
nav.form=Formulario
|
||
nav.table=Tabla
|
||
|
||
page.dashboard=Panel
|
||
page.form=Formulario
|
||
page.table=Tabla
|
||
|
||
card.revenueTrend=Evolución de ingresos
|
||
card.revenueByMonth=Ingresos por mes
|
||
card.revenueByRegion=Ingresos por región
|
||
card.registration=Registro
|
||
card.employees=Empleados
|
||
card.gridstackHint=Cómo funciona
|
||
|
||
gridstack.hint=Mueve las tarjetas con el asa de la esquina superior derecha, cambia su tamaño desde la esquina inferior derecha y ciérralas con la X de la esquina superior derecha. El diseño se guarda en el navegador y se restaura en la próxima visita.
|
||
gridstack.addWidget=Añadir widget
|
||
gridstack.reset=Restablecer diseño
|
||
gridstack.status=Diseño modificado – {0} widgets
|
||
gridstack.statusInitial=Diseño sin cambios
|
||
gridstack.widget=Widget {0}
|
||
gridstack.widgetText=Tarjeta de colocación libre.
|
||
gridstack.dragHandle=Mover
|
||
gridstack.close=Cerrar
|
||
|
||
kpi.revenueTotal=Ingresos totales
|
||
kpi.revenueTotal.value=1,24 M€
|
||
kpi.openOrders=Pedidos abiertos
|
||
kpi.openOrders.value=38
|
||
kpi.newCustomers=Nuevos clientes
|
||
kpi.newCustomers.value=112
|
||
kpi.averageOrderValue=Valor medio del pedido
|
||
kpi.averageOrderValue.value=486 €
|
||
|
||
chart.revenueSeries=Ingresos 2026
|
||
chart.pointClick=Serie {0}, punto {1}
|
||
chart.sliceClick=Sector {0}
|
||
|
||
month.jan=Ene
|
||
month.feb=Feb
|
||
month.mar=Mar
|
||
month.apr=Abr
|
||
month.may=May
|
||
month.jun=Jun
|
||
|
||
region.north=Norte
|
||
region.south=Sur
|
||
region.east=Este
|
||
region.west=Oeste
|
||
|
||
form.firstName=Nombre
|
||
form.lastName=Apellido
|
||
form.email=Correo electrónico
|
||
form.password=Contraseña
|
||
form.age=Edad
|
||
form.salary=Salario (€)
|
||
form.birthdate=Fecha de nacimiento
|
||
form.time=Hora preferida
|
||
form.country=País
|
||
form.department=Departamento
|
||
form.interests=Intereses
|
||
form.salutation=Tratamiento
|
||
form.newsletter=Suscribirse al boletín
|
||
form.remark=Observación
|
||
form.save=Guardar
|
||
form.reset=Restablecer
|
||
form.today=Hoy
|
||
form.cancel=Cancelar
|
||
form.time.badInput=Hora inválida
|
||
form.time.required=La hora es obligatoria
|
||
form.time.min=La hora es anterior a la hora mínima permitida
|
||
form.time.max=La hora es posterior a la hora máxima permitida
|
||
|
||
country.de=Alemania
|
||
country.at=Austria
|
||
country.ch=Suiza
|
||
country.fr=Francia
|
||
country.nl=Países Bajos
|
||
|
||
dept.sales=Ventas
|
||
dept.marketing=Marketing
|
||
dept.dev=Desarrollo
|
||
dept.support=Soporte
|
||
dept.management=Dirección
|
||
|
||
interest.newsletter=Temas del boletín
|
||
interest.webinars=Seminarios web
|
||
interest.updates=Actualizaciones de producto
|
||
interest.events=Eventos
|
||
|
||
salutation.mrs=Sra.
|
||
salutation.mr=Sr.
|
||
salutation.diverse=Diverso
|
||
salutation.none=Sin especificar
|
||
|
||
valid.firstNameRequired=El nombre es obligatorio
|
||
valid.lastNameRequired=El apellido es obligatorio
|
||
valid.emailRequired=El correo electrónico es obligatorio
|
||
valid.emailInvalid=Dirección de correo no válida
|
||
valid.ageRange=La edad debe estar entre 0 y 120
|
||
|
||
notify.saved=Guardado: {0} {1}
|
||
notify.checkInput=Por favor revise los datos ingresados
|
||
|
||
table.search=Buscar…
|
||
col.name=Nombre
|
||
col.department=Departamento
|
||
col.city=Ciudad
|
||
col.salary=Salario (€)
|