| 1 | { |
| 2 | "examples.actor.blurb": "Quién hizo algo, en palabras: el nombre de una persona, o el agente y la persona por la que actuó. Sin insignia ni icono.", |
| 3 | "examples.actor.states.an-agent-acting-for-a-person": "El nombre del agente y, después, la persona en cuyo nombre actuó. Cuando la propia aplicación hizo algo, no muestres nada.", |
| 4 | "examples.api-tokens.blurb": "La página de tokens de API: la revelación única, el formulario de creación, la lista y los botones de revocar.", |
| 5 | "examples.api-tokens.states.four-tokens-two-of-them-live": "Los formularios de revocar envían a /tokens/revoke, /tokens/revoke-agent y /tokens/revoke-all, bajo la ruta de la propia página. Apúntalos a donde tu aplicación los atienda.", |
| 6 | "examples.api-tokens.states.just-created-the-secret-shown-once": "Muestra esto en la respuesta al propio formulario de creación, y no la redirijas: el secreto está en esa respuesta y en ningún otro sitio.", |
| 7 | "examples.back-nav.blurb": "El enlace para subir un nivel, encima de una pantalla de detalle o de edición.", |
| 8 | "examples.badge.blurb": "Una etiqueta con borde en mayúsculas, para marcas pequeñas y fijas. Distinta de status-pill, que es el estado de un registro.", |
| 9 | "examples.box.blurb": "La tarjeta de sección con relleno, y el título que va fuera de ella.", |
| 10 | "examples.bulk-bar.blurb": "La franja de cabecera del modo selección, que sustituye a la barra de lista: el recuento, un enlace para ampliar la selección y el menú de acciones.", |
| 11 | "examples.bulk-bar.states.three-rows-selected": "El elemento destructivo va al final: la primera entrada es el valor por defecto que dispara Enter en el formulario que lo rodea.", |
| 12 | "examples.button.blurb": "Los botones tienen cuatro variantes y tres tamaños, y un enlace puede parecer uno. Para el indicador que muestra un formulario mientras se envía, mira form-foot.", |
| 13 | "examples.callout.blurb": "El único vocabulario de avisos: franja con color, icono de tono, título en negrita opcional y un párrafo de cuerpo.", |
| 14 | "examples.callout.states.negative-announced-as-an-alert": "role=\"alert\" hace que un lector de pantalla lo anuncie en cuanto aparece. Resérvalo para los mensajes que no pueden esperar.", |
| 15 | "examples.choice-field.blurb": "Tarjetas de opción: el grupo de radios o casillas que preferimos. El título se mantiene corto; la descripción explica.", |
| 16 | "examples.confirm-form.blurb": "La fila de acciones de la página de confirmación. Las acciones destructivas tienen su propia ruta en vez de un diálogo, así que no hay nada que programar.", |
| 17 | "examples.confirm-form.states.ordinary-default-cancel-wording": "El enlace de cancelar dice Cancelar, que es lo habitual. Cámbialo cuando las palabras del propio formulario sean más claras.", |
| 18 | "examples.detail-list.blurb": "Lista de definiciones sobre un registro en una pantalla de detalle. La marca mono es para valores de aspecto técnico.", |
| 19 | "examples.dropdown.blurb": "Un desplegable sin nada de JavaScript: un botón summary sobre un panel de enlaces normales. Ponlo en una fila junto a aquello sobre lo que actúa, nunca solo en una línea.", |
| 20 | "examples.dropdown.states.menu-idiom": "El menú details/summary que hay detrás de los menús de desbordamiento de la cabecera y del filtro de una barra de lista, más un filtro aplicado como etiqueta que se puede quitar.", |
| 21 | "examples.empty-state.blurb": "La tarjeta de estado vacío. Un estado vacío con vías para dar los primeros pasos.", |
| 22 | "examples.error-page.blurb": "El cuerpo completo de una respuesta de error: el estado, una frase honesta, una vía de vuelta y referencias de 500 que un administrador puede usar.", |
| 23 | "examples.error-page.states.500-server-error": "El 500 es el único estado con referencia: quien opera el sistema puede buscarla con grep en los registros.", |
| 24 | "examples.error-page.states.anything-else-the-generic-pair": "Cualquier estado sin redacción propia recibe este par genérico: un título que dice que algo va mal y un texto que dice que lo intentes de nuevo.", |
| 25 | "examples.field-check.blurb": "El único mecanismo de conmutación: una casilla de verificación real con aspecto de interruptor, sin perder teclado ni lector de pantalla.", |
| 26 | "examples.field-date.blurb": "Un campo de fecha nativo, más el combo de lenguaje natural que datetime.js añade cuando el campo lleva data-rst-date. Escribe \"mañana\" en él.", |
| 27 | "examples.field-date.states.enhanced-input-type-tomorrow-or-in-3-weeks": "Las palabras que analiza están en data-rst-date-words, aquí en el idioma de la página. i18n/<lang>.json las tiene en doce idiomas, así que el campo puede analizar el idioma en el que esté la página, sea cual sea.", |
| 28 | "examples.field-date.states.plain-the-bare-native-input": "Sin ningún atributo de mejora, así que datetime.js no encuentra nada. El selector nativo se sigue abriendo.", |
| 29 | "examples.field-daterange.blurb": "Un inicio y un fin como un solo fieldset etiquetado. Da a cada campo su propio name y su propio id.", |
| 30 | "examples.field-daterange.states.date-and-time-seeded": "Confirma el inicio con el fin todavía vacío y datetime.js rellena el fin una hora más tarde. Nada en el marcado lo hace; lo hace el script.", |
| 31 | "examples.field-datetime.blurb": "Una fecha y una hora en un solo campo, un solo valor.", |
| 32 | "examples.field-datetime.states.enhanced-input-type-tomorrow-or-in-3-weeks": "Las palabras que analiza están en data-rst-date-words, aquí en el idioma de la página. i18n/<lang>.json las tiene en doce idiomas, así que el campo puede analizar el idioma en el que esté la página, sea cual sea.", |
| 33 | "examples.field-datetime.states.plain-the-bare-native-input": "Sin ningún atributo de mejora, así que datetime.js no encuentra nada. El selector nativo se sigue abriendo.", |
| 34 | "examples.field-money.blurb": "Un importe en una sola moneda. El código de la moneda aparece junto a la etiqueta y se envía con el formulario, así que una moneda que cambió mientras alguien escribía se detecta al guardar.", |
| 35 | "examples.field-select.blurb": "La envoltura de campo alrededor de un select nativo. Añade data-rst-select y select.js lo convierte en un combo con filtro; lo que el formulario envía sigue siendo el select nativo. Merece la pena a partir de unas diez opciones.", |
| 36 | "examples.field-select.states.hand-written-with-optgroups": "Las opciones agrupadas son optgroup que escribes tú. select.js conserva los grupos en vez de descartarlos; un select también puede rechazar la mejora del todo con data-rst-select=\"false\".", |
| 37 | "examples.field-select.states.twelve-options-the-filterable-combobox": "Añade data-rst-select a partir de unas diez opciones. Por debajo, déjalo fuera: buscar entre un puñado de elementos es mobiliario, no ayuda.", |
| 38 | "examples.field-text.blurb": "Un campo de texto con etiqueta. El asterisco del marcador de obligatorio es aria-hidden; la señal programática es el atributo required del campo.", |
| 39 | "examples.field-text.states.the-headline-field": "Da al campo principal de un formulario, un título o un nombre, rst-input=\"primary\" para un campo más destacado.", |
| 40 | "examples.field-textarea.blurb": "La envoltura de field-text alrededor de un textarea.", |
| 41 | "examples.field-time.blurb": "La misma envoltura alrededor de un campo de hora nativo. La mejora lee un reloj en vez de un calendario.", |
| 42 | "examples.field-url.blurb": "Un campo de dirección web que acepta example.com con o sin https://. Lo que lea el formulario tiene que añadir el esquema y comprobar la dirección.", |
| 43 | "examples.field.blurb": "Etiqueta, campo, pista opcional, ayuda y error. El control de tipo texto general, con un ID explícito.", |
| 44 | "examples.form-error.blurb": "La línea de resumen de errores de un formulario, role=\"alert\". Déjala fuera cuando no haya error.", |
| 45 | "examples.form-foot.blurb": "La fila final de un formulario: un envío principal y un enlace opcional para cancelar. Cancelar es un enlace, porque salir de un formulario es navegar.", |
| 46 | "examples.form-foot.states.idle-the-button-before-anything-happens": "Un botón que CAMBIA algo recibe un estado de carga; un botón que solo revela algo —una divulgación, un desplegable, una pestaña— no. busy.js aplica esa regla a todos los botones de envío de todos los formularios, sin nada que activar.", |
| 47 | "examples.form-foot.states.working-what-busy-js-writes-on-the-way-out": "Solo el botón que se pulsó: los demás botones de envío del formulario conservan su nombre y su valor, y el formulario queda protegido frente a un segundo envío. data-busy=\"false\" desactiva la regla, en el formulario o en un botón; data-busy-label sustituye el texto. Sin scripts no ocurre nada de esto y el formulario se envía igual que siempre, así que detectar un segundo envío sigue siendo cosa de tu aplicación.", |
| 48 | "examples.form-layout.blurb": "Los atributos que dan a un formulario su ritmo y su barra de guardar. Envuelven una serie de campos que compones tú.", |
| 49 | "examples.format-abbr.blurb": "La etiqueta <abbr> muestra el texto completo al pasar el ratón por encima. Eso no funciona en un móvil, y los lectores de pantalla suelen saltárselo. Escribe también las palabras completas la primera vez.", |
| 50 | "examples.format-addresses.blurb": "La etiqueta <address> no es para direcciones postales. Es para decir quién escribió la página. Una dirección de entrega es texto normal. Una lista de personal es una lista.", |
| 51 | "examples.format-dates.blurb": "Pon la fecha en una etiqueta <time>, con una versión que pueda leer un ordenador. La fecha visible escríbela como tus lectores esperan verla. Fiesta no te la va a formatear.", |
| 52 | "examples.format-durations.blurb": "Usa <time> también para una duración. La versión legible por máquina tiene un aspecto extraño: PT2H30M significa 2 horas y 30 minutos.", |
| 53 | "examples.format-filesizes.blurb": "Muestra un tamaño redondeado como 4 MB y pon el número exacto de bytes en una etiqueta <data>. Los lectores de pantalla leen lo que está en pantalla e ignoran la etiqueta, así que el tamaño redondeado tiene que servir por sí solo.", |
| 54 | "examples.format-identifiers.blurb": "Estos no se separan. Pedido 4471, no pedido 4,471. Los años, los números de versión y los de puerto son igual. Usa rst-mono para que parezcan códigos, y nunca metas uno en una etiqueta <time>, aunque parezca una fecha.", |
| 55 | "examples.format-money.blurb": "Guarda cada importe como un número entero de la unidad más pequeña de la moneda, como los céntimos, con su código de moneda al lado. Escríbelo como lo hace el idioma de quien lee. La moneda sale siempre de tus datos, nunca de quien lee.", |
| 56 | "examples.format-numbers.blurb": "Separa los números largos para que se lean de un vistazo: 54,173 en inglés, 54.173 en alemán, ٥٤٬١٧٣ en árabe. Nunca muestres un número largo como dígitos sin más. En una tabla, usa dígitos del mismo ancho para que las columnas queden alineadas.", |
| 57 | "examples.format-output.blurb": "Cuando tu página suma algo, pon el resultado en una etiqueta <output>. Un total acumulado, un precio convertido, una cuenta atrás.", |
| 58 | "examples.format-people.blurb": "Un nombre puede estar en cualquier idioma, incluidos los que se leen de derecha a izquierda. Cuando un nombre queda en medio de una línea, envuélvelo en <bdi>, o desordenará las palabras a su alrededor. Usa person para mostrar un nombre con una imagen al lado.", |
| 59 | "examples.format-ratios.blurb": "Usa <meter> para mostrar cuán lleno está algo. Usa <progress> para mostrar hasta dónde ha llegado una tarea. Escribe siempre el número junto a la barra. Una barra sola no le dice nada a quien no la ve.", |
| 60 | "examples.help.blurb": "Un signo de interrogación con borde que enlaza a un artículo de ayuda. Su tooltip de CSS es decoración; el enlace lleva su propia etiqueta en una frase completa.", |
| 61 | "examples.job-status.blurb": "El progreso de una tarea en segundo plano: un indicador giratorio, una línea de texto y una barra. Los atributos data-poll dicen de dónde podría una página traer una copia nueva y cada cuánto. Fiesta no trae ningún script que lo haga, así que conéctalo tú, y quita los atributos cuando la tarea termine.", |
| 62 | "examples.job-status.states.running": "Los atributos data-poll indican de dónde traería un script una copia nueva, y cada cuánto. Nada en Fiesta lo hace, así que en esta página se queda en marcha.", |
| 63 | "examples.layout-column.blurb": "La página sencilla y centrada con la que arranca una aplicación: un enlace para saltar, un título, la columna de contenido y una fila de pie para los menús de idioma y de esquema de color.", |
| 64 | "examples.layout-console-page.blurb": "Una barra arriba y un raíl de navegación al costado a la vez, la forma que tiene la mayoría de las consolas de administración. En un teléfono, el menú de la barra se abre como una tarjeta y el raíl es una página índice. No hace falta JavaScript.", |
| 65 | "examples.layout-console.blurb": "Una barra arriba y un raíl de navegación al costado a la vez, la forma que tiene la mayoría de las consolas de administración. En un teléfono, el menú de la barra se abre como una tarjeta y el raíl es una página índice. No hace falta JavaScript.", |
| 66 | "examples.layout-sidebar-page.blurb": "Un raíl de navegación junto a la página. En un teléfono, el raíl es una página índice y todas las demás páginas tienen un control para volver. No hace falta JavaScript.", |
| 67 | "examples.layout-sidebar.blurb": "Un raíl de navegación junto a la página. En un teléfono, el raíl es una página índice y todas las demás páginas tienen un control para volver. No hace falta JavaScript.", |
| 68 | "examples.layout-stage.blurb": "Una tarjeta en medio de un fondo que ocupa toda la página, para una pantalla que va sola. Está pensada para la pantalla de inicio de sesión.", |
| 69 | "examples.layout-topbar.blurb": "Marca, navegación y menú de cuenta a lo ancho de la parte superior, con un pie bajo la página.", |
| 70 | "examples.list-bar-search.blurb": "Formulario de búsqueda por sí solo, para listas que solo buscan. Un formulario method=\"get\" corriente.", |
| 71 | "examples.list-bar-search.states.empty-accessible-name-from-the-catalog": "Sin placeholder. El nombre accesible del campo es su aria-label, que la aplicación escribe en el idioma de la página.", |
| 72 | "examples.list-bar-search.states.with-a-query": "La ✕ es un enlace a la misma pantalla sin la consulta. El filtro de estado viaja en un campo oculto y se conserva.", |
| 73 | "examples.list-bar-search.states.with-a-query-on-page-4": "El número de página viaja en un campo oculto, así que una búsqueda nueva llevaría page=4 a un conjunto de resultados que ya no tiene cuatro páginas. El enlace ✕ lo quita: apúntalo a la primera página de la lista.", |
| 74 | "examples.list-bar.blurb": "La barra de herramientas en la parte superior de una tarjeta de lista, con búsqueda y filtro.", |
| 75 | "examples.list-grid.blurb": "El vocabulario real de las tablas de datos: la tarjeta define sus columnas una vez y las filas solo eligen celdas.", |
| 76 | "examples.list-row-action.blurb": "Una fila de lista: el nombre del registro como enlace principal, una línea de datos y una acción secundaria.", |
| 77 | "examples.list-row-action.states.a-short-status-beside-the-name": "rst-status=\"inline\" mantiene un estado corto en la línea del nombre en un móvil. Sin él, el estado pasa debajo del nombre.", |
| 78 | "examples.list-search-submit.blurb": "El botón de enviar de verdad del formulario de búsqueda: oculto a la vista, dentro del orden de tabulación, y aparece al recibir el foco del teclado.", |
| 79 | "examples.list-search-submit.states.default-label": "Aquí no se ve nada hasta que llegas con el tabulador.", |
| 80 | "examples.locale-menu.blurb": "El selector de idioma: un menú details con formularios POST de un solo campo, para que la elección llegue a tu aplicación y quien lee se mantenga en la misma ruta.", |
| 81 | "examples.locale-menu.states.twelve-languages-current-highlighted": "Cada idioma es un formulario de un solo campo, así que elegir uno es un POST que responde tu aplicación. Un sitio estático puede usar en su lugar un menú de enlaces normales.", |
| 82 | "examples.media-grid.blurb": "Una cuadrícula de mosaicos de imagen. Cada marco es 4:3, así que las capturas altas y los banners anchos caben en una misma cuadrícula uniforme.", |
| 83 | "examples.media-grid.states.screenshots-a-logo-and-a-banner": "Da a un logotipo o un banner rst-media-frame=\"contain\". Una captura mantiene el valor por defecto y muestra su parte superior. Un mosaico sin descripción dice \"Sin descripción\".", |
| 84 | "examples.media-grid.states.select-mode-one-tile-selected": "Envuelve la cuadrícula y un bulk-bar en un mismo formulario. La casilla de cada mosaico envía su valor con el nombre \"id\"; cámbialo si tu aplicación espera otro. Dentro del formulario, los elementos del menú deben ser enlaces.", |
| 85 | "examples.meter.blurb": "Una barra de capacidad con su número.", |
| 86 | "examples.meter.states.over-budget": "Por encima del presupuesto, la barra está llena y el número dice por cuánto: escribe value=\"100\" y deja la cifra real al texto.", |
| 87 | "examples.modal.blurb": "Un modal es una URL propia, no un estado del cliente: la página de debajo marcada como inert, el panel encima y un enlace normal para cerrar.", |
| 88 | "examples.notice.blurb": "Una confirmación de una línea después de una redirección: una frase en un párrafo con role=\"status\". Déjala fuera cuando no haya nada que decir.", |
| 89 | "examples.page-header.blurb": "La barra de título de la pantalla: un h1, un subtítulo opcional y una acción principal.", |
| 90 | "examples.pagination.blurb": "Una tira numerada de enlaces normales, para que la paginación siga funcionando con JavaScript desactivado.", |
| 91 | "examples.pagination.states.first-page-default-accessible-name": "El aria-label del nav es la palabra sencilla \"Paginación\". Di qué lista pagina cuando una página tenga más de una.", |
| 92 | "examples.person.blurb": "Avatar con iniciales, nombre y correo. Sirve para identificar rápido los registros de personas.", |
| 93 | "examples.row-menu.blurb": "Las demás acciones de una fila, tras un botón ⋮. Una destructiva enlaza a su página de confirmación.", |
| 94 | "examples.row-menu.states.links-a-form-and-a-destructive-item": "Pon el elemento destructivo al final y termina su etiqueta con …. Abre una página que pregunta antes de borrar nada.", |
| 95 | "examples.row-menu.states.links-only-for-a-list-inside-a-selection-form": "Dentro de un formulario, cada elemento debe ser un enlace. Una acción que envía datos pasa por una página propia.", |
| 96 | "examples.scheme-menu.blurb": "El selector de esquema de color: un menú details de formularios POST de un solo campo para Claro, Oscuro y Sistema. Enviada, la elección va a tu aplicación; por su cuenta, fiesta.js la recuerda en el navegador.", |
| 97 | "examples.scheme-menu.states.standalone": "Sin aplicación detrás: los formularios no tienen action, y con data-rst-scheme-store=\"local\" en el elemento <html> fiesta.js recuerda la elección en el navegador. La cabecera de la propia galería usa este.", |
| 98 | "examples.scheme-menu.states.three-choices-dark-current": "Cada esquema es un formulario de un solo campo, así que elegir uno es un POST que responde tu aplicación, y la página vuelve con el esquema elegido marcado como actual.", |
| 99 | "examples.seg-tabs.blurb": "Un control segmentado de enlaces o botones. El enlace actual es aria-current; el botón pulsado es aria-pressed=\"true\".", |
| 100 | "examples.seg-tabs.states.buttons-that-switch-in-place": "Botones, para una elección que cambia la página sin salir de ella, como una vista. Tu script mueve aria-pressed al botón pulsado.", |
| 101 | "examples.selbox.blurb": "La casilla de selección que lleva una fila de lista en modo selección. Su etiqueta repite la identidad de la fila.", |
| 102 | "examples.shell-sidebar.blurb": "El armazón del shell sidebar en una página de contenido: en un teléfono, un control para volver al índice.", |
| 103 | "examples.shell-topbar.blurb": "El armazón propio del contenedor con barra superior, como marcado. La página entera a la que pertenece es layout-topbar, en Armazones.", |
| 104 | "examples.side-nav.blurb": "Una barra lateral dentro de un panel: una columna de enlaces junto al contenido del panel. En un panel estrecho, los enlaces pasan a ser una fila que se desplaza en horizontal.", |
| 105 | "examples.side-nav.states.four-sections-the-first-open": "rst-side toma su ancho de su elemento padre. En una fila flex, dale flex: 1 1 0, o puede encogerse hasta desaparecer.", |
| 106 | "examples.signin.blurb": "La pantalla de inicio de sesión en cada estado por el que pasa: pidiendo una dirección, al volver, después de enviar el enlace, cuando algo ha ido mal y las otras formas de entrar.", |
| 107 | "examples.signin.states.a-passkey": "La vía más rápida para quien ya tiene una, y no hay nada que teclear. Ofrece también una segunda vía: la gente pierde dispositivos, y una clave de acceso que no funciona es una puerta cerrada.", |
| 108 | "examples.signin.states.after-the-link-is-sent": "Repite la dirección tal cual. Es la única oportunidad de detectar una errata antes de quedarse esperando un correo que nunca llegará.", |
| 109 | "examples.signin.states.after-the-link-is-sent-in-another-browser": "Cuando la dirección no la envió este navegador, la página no la adivina.", |
| 110 | "examples.signin.states.an-address-that-does-not-look-right": "El mensaje pertenece al campo, y ahí es donde empieza el foco.", |
| 111 | "examples.signin.states.asking-for-an-address": "Un campo y un botón. Nada que recordar y nada que robar.", |
| 112 | "examples.signin.states.coming-back-with-an-email-link": "La dirección está en el botón, así que no hay nada que teclear.", |
| 113 | "examples.signin.states.coming-back-with-keymail": "Para quien vuelve: la dirección que usó la última vez está en el botón, así que un toque la envía. Recordar esa dirección, y volver a comprobarla, es trabajo de tu aplicación.", |
| 114 | "examples.signin.states.email-and-password": "Si aun así usas contraseñas, mantén la misma disposición de una vía principal y pon la forma de restablecerla justo debajo del botón, en lugar de esconderla.", |
| 115 | "examples.signin.states.google-apple-and-the-rest": "Te damos los botones, dibujados como exige cada empresa. No te damos el inicio de sesión en sí: eso lo conectas tú al proveedor que uses.", |
| 116 | "examples.signin.states.on-the-way-to-keymail": "Una página de espera mientras se envía a alguien a iniciar sesión. Tu aplicación hace avanzar la página sola; el enlace está por si no lo hace.", |
| 117 | "examples.signin.states.when-keymail-could-not-confirm-it": "El botón cambia para enviar un enlace en su lugar, así nadie se queda atascado.", |
| 118 | "examples.signin.states.when-keymail-was-offered-and-a-link-went-out": "Una línea dice que esta vez se envió un enlace. No adivina por qué.", |
| 119 | "examples.signin.warnings.email-and-password.body": "La gente las reutiliza, se filtran, y a ti te toca el trabajo de guardarlas de forma segura. Usa un enlace por correo junto con una clave de acceso, o solo claves de acceso. El marcado está aquí porque algunos productos todavía lo necesitan.", |
| 120 | "examples.signin.warnings.email-and-password.title": "No recomendamos las contraseñas", |
| 121 | "examples.snippet.blurb": "Una línea de código para copiar: el código en un recuadro y un botón Copiar que copy.js muestra donde el navegador tiene portapapeles.", |
| 122 | "examples.stat-band.blurb": "Una fila de cifras a lo largo de la parte superior de un panel.", |
| 123 | "examples.stat-band.states.two-to-a-line-on-a-phone": "rst-stats=\"pairs\" pone dos cifras por línea en un móvil. Sin él, se apilan una por línea.", |
| 124 | "examples.stat.blurb": "Un número en un panel, con una etiqueta y cuánto ha cambiado.", |
| 125 | "examples.stat.states.a-shortened-number": "¿Muestras 4.1k en lugar de 4120? Pon el número completo en el value de una etiqueta <data>. Los lectores de pantalla solo leen lo que está en pantalla, así que deja en el propio número todo lo que una persona necesite.", |
| 126 | "examples.stat.states.a-smaller-number": "Solo necesitas una etiqueta y un número. Todo lo demás es opcional.", |
| 127 | "examples.stat.states.the-big-number": "Da a una cifra de la fila rst-stat=\"lead\" para hacerla grande. Es el mismo componente, solo que más grande.", |
| 128 | "examples.stat.states.when-going-down-is-good": "El color lo decides tú, no el componente. Aquí el número ha bajado y eso es buena noticia, así que el cambio va en verde.", |
| 129 | "examples.stat.states.when-going-up-is-bad": "Aquí el número ha subido y eso es mala noticia, así que el cambio va en rojo.", |
| 130 | "examples.stat.states.when-you-cannot-say": "Omite el color y el cambio se muestra en gris. Hazlo cuando no puedas decir si es bueno o malo.", |
| 131 | "examples.status-pill.blurb": "El estado de un registro como una píldora con color y etiqueta.", |
| 132 | "examples.status-pill.states.neutral": "neutral es el tono por defecto, así que rst-tone=\"neutral\" podría omitirse.", |
| 133 | "examples.tblock.blurb": "Una tarjeta con borde cuyo cuerpo solo se muestra mientras su interruptor está activado, mediante :has(). El interruptor manda; mostrarlo es una comodidad visual.", |
| 134 | "families.choices-and-actions.blurb": "Los controles con los que se elige entre opciones, y las filas que cierran un formulario. Cada uno va dentro de un rst-box con relleno, porque esa es la tarjeta en la que va un formulario.", |
| 135 | "families.choices-and-actions.title": "Opciones y acciones", |
| 136 | "families.date-and-time.blurb": "Los cuatro campos que datetime.js mejora, cada uno conservando debajo su control nativo, de modo que quien no tenga scripts obtiene el control sencillo y no uno roto.", |
| 137 | "families.date-and-time.title": "Fecha y hora", |
| 138 | "families.display.blurb": "Las piezas pequeñas de vocabulario con las que se arma una pantalla: estado, identidad, progreso y la única forma de aviso.", |
| 139 | "families.display.title": "Presentación", |
| 140 | "families.form.blurb": "Los campos en los que una persona escribe, en los estados en que los pone un formulario real. Cada uno va dentro de un rst-box con relleno, porque esa es la tarjeta en la que va un formulario.", |
| 141 | "families.form.title": "Formulario", |
| 142 | "families.formats.blurb": "Cómo mostrar fechas, números, dinero, nombres y direcciones, y cuáles se confunden entre sí.", |
| 143 | "families.formats.title": "Fechas, números y nombres", |
| 144 | "families.list-screen.blurb": "Pantalla de lista genérica con título, barra de herramientas y filas que funcionan en escritorio y en móvil.", |
| 145 | "families.list-screen.title": "Pantalla de lista", |
| 146 | "families.primitives.blurb": "Las formas que un componente no puede ser, porque envuelven un cuerpo que solo conoce quien llama: tarjetas, rejillas de datos, menús y el armazón propio de los contenedores.", |
| 147 | "families.primitives.title": "Primitivas de interfaz", |
| 148 | "families.route.blurb": "Las piezas que son una respuesta entera y no un trozo de una.", |
| 149 | "families.route.title": "Ruta", |
| 150 | "families.screens.blurb": "Pantallas enteras hechas con los componentes. Empieza la tuya a partir de una de ellas.", |
| 151 | "families.screens.title": "Pantallas", |
| 152 | "families.shells.blurb": "Los armazones de página en los que se construye una aplicación: una columna, una barra superior, una barra lateral, una consola y un escenario. Cada uno se abre a todo el ancho.", |
| 153 | "families.shells.title": "Armazones", |
| 154 | "gallery.back": "Volver al sistema de diseño", |
| 155 | "gallery.brand": "Fiesta", |
| 156 | "gallery.copied": "Copiado", |
| 157 | "gallery.copy": "Copiar", |
| 158 | "gallery.copy.failed": "No se pudo copiar. Selecciona el código y cópialo tú.", |
| 159 | "gallery.demo.callout.body": "Cada pantalla es una página propia, HTML sencillo en el armazón con barra lateral, y funciona igual con JavaScript desactivado. En un teléfono, las secciones son una lista y cada pantalla tiene una forma de volver.", |
| 160 | "gallery.demo.heading": "La aplicación de demostración", |
| 161 | "gallery.demo.lead": "Una app que funciona, hecha solo con este sistema: un panel, una lista, un registro abierto. Cada uno tiene su propia dirección. Sin JavaScript.", |
| 162 | "gallery.demo.open": "Abrir la aplicación de demostración", |
| 163 | "gallery.demos.app": "La aplicación de demostración", |
| 164 | "gallery.demos.modal": "La ruta del modal", |
| 165 | "gallery.demos.shell": "El armazón {shell}", |
| 166 | "gallery.example.html": "HTML muestra el marcado para copiar.", |
| 167 | "gallery.example.live": "Cada ejemplo funciona de verdad, pero sus enlaces no llevan a ninguna parte.", |
| 168 | "gallery.filter": "Filtrar", |
| 169 | "gallery.filter.empty": "Sin coincidencias", |
| 170 | "gallery.frame.title": "{example}: {state}", |
| 171 | "gallery.html": "HTML", |
| 172 | "gallery.icons.kebab": "kebab y menu son el par que conviene no confundir: kebab son los tres puntos que significan más acciones en esta fila, y menu las tres líneas que significan navegación. Los shells usan menu cuando se pliegan.", |
| 173 | "gallery.icons.lead": "{total} iconos de Lucide, cada uno un SVG en línea con el tamaño que le da el texto de al lado mediante la propia regla .icon de tokens.css, que es el tamaño que se muestra aquí.", |
| 174 | "gallery.icons.lucide": "El conjunto completo está en {link}.", |
| 175 | "gallery.icons.names.body": "{renamed} de los {total} difieren del nombre que publica lucide.dev. Donde la última línea bajo un icono no repite su nombre, es uno de ellos. Los nombres siguen siendo los mismos sea cual sea el conjunto de iconos del que se dibujen más adelante.", |
| 176 | "gallery.icons.names.heading": "Los nombres son de Fiesta", |
| 177 | "gallery.icons.source": "De dónde vienen los glifos", |
| 178 | "gallery.icons.source.body": "Lucide, con licencia ISC, copiado en el repositorio en lugar de descargarse. La versión publicada trae los SVG en línea y un sprite; la galería dibuja cada uno como lo hace un componente.", |
| 179 | "gallery.kind.getting-started": "Primeros pasos", |
| 180 | "gallery.kind.icons": "Iconos", |
| 181 | "gallery.kind.overview": "Resumen", |
| 182 | "gallery.kind.tokens": "Tokens", |
| 183 | "gallery.language": "Idioma", |
| 184 | "gallery.language.current": ", actualmente {language}", |
| 185 | "gallery.locale.name": "Español", |
| 186 | "gallery.modal.account": "Cuenta", |
| 187 | "gallery.modal.billing": "Facturación", |
| 188 | "gallery.modal.body": "Actualiza el nombre y la foto que se muestran en toda la cuenta.", |
| 189 | "gallery.modal.close": "Cerrar los ajustes", |
| 190 | "gallery.modal.inapp": "En una aplicación, la ✕ te devolvería a la pantalla del fondo.", |
| 191 | "gallery.modal.nojs": "El enlace de cierre está pensado para funcionar sin JS.", |
| 192 | "gallery.modal.notifications": "Notificaciones", |
| 193 | "gallery.modal.own": "Los modales tienen su propia URL.", |
| 194 | "gallery.modal.profile": "Perfil", |
| 195 | "gallery.modal.settings": "Ajustes", |
| 196 | "gallery.modal.sub": "La página sobre la que se abrió el modal. Está marcada como inert, así que mientras el panel esté arriba nada de aquí recibe el foco ni llega a un lector de pantalla.", |
| 197 | "gallery.nav.demos": "Demostraciones", |
| 198 | "gallery.nav.overview": "Resumen", |
| 199 | "gallery.nav.overview.aria": "Resumen de {section}", |
| 200 | "gallery.nav.sections": "Secciones y demostraciones", |
| 201 | "gallery.newtab": "se abre en una pestaña nueva", |
| 202 | "gallery.overview.intro": "Fiesta es el sistema de diseño de Rastrillo como proyecto propio: componentes coherentes, pulidos y accesibles para cualquier sitio web o aplicación, con cualquier stack o sin ninguno, sin JavaScript o con muy poco, en doce idiomas, en HTML y CSS limpios y modernos. Una hoja de estilos y listo; el marcado es tuyo para copiarlo y remezclarlo.", |
| 203 | "gallery.overview.next": "Adónde ir ahora", |
| 204 | "gallery.prefs": "Ajustes de visualización", |
| 205 | "gallery.primitives.modal.live": "Míralo en vivo en la URL a la que pertenece", |
| 206 | "gallery.primitives.sidebar.live": "Abre la demo del armazón con barra lateral, una vista previa independiente.", |
| 207 | "gallery.primitives.topbar.live": "Abre la demo del armazón con barra superior, una vista previa dedicada.", |
| 208 | "gallery.route.tokens": "Todas las propiedades personalizadas de las que está hecho el sistema: el color y la tipografía del tema, y las escalas de tamaño, espaciado y radio.", |
| 209 | "gallery.routes": "En una aplicación, esto llegaría a {routes}. Aquí sus enlaces y formularios no llevan a ninguna parte.", |
| 210 | "gallery.routes.getting-started": "Lo que se publica: la hoja de estilos de un solo enlace, cada tema, los scripts opcionales y los textos, con lo que pesa cada archivo.", |
| 211 | "gallery.routes.icons": "Cada slug de icono, al tamaño al que lo dibujan los componentes, con el archivo para copiar y su nombre en lucide.dev.", |
| 212 | "gallery.shell.open": "Abrir el armazón {shell}", |
| 213 | "gallery.skip": "Ir al contenido", |
| 214 | "gallery.started.file.anchor-js": "Mantiene el menú de un desplegable dentro de la pantalla en navegadores sin posicionamiento por anclaje de CSS. No hace nada donde lo tienen: bórralo cuando todos los navegadores que admites lo tengan.", |
| 215 | "gallery.started.file.bundle": "Los tokens y el tema {theme} en un solo archivo: cada clase de componente, cada escala y los colores, cada uno declarado una vez como par light-dark().", |
| 216 | "gallery.started.file.busy-js": "La regla de ocupado: mientras un formulario se envía, su botón muestra un indicador de carga durante al menos 650ms y rechaza un segundo envío; al volver atrás se restablece.", |
| 217 | "gallery.started.file.calendar-js": "La cuadrícula del mes que abre el botón de calendario de ese campo. Inerte hasta que datetime.js le pide un panel, y borrable por separado: sin ella, el botón recurre al selector propio del navegador.", |
| 218 | "gallery.started.file.copy-js": "El botón Copiar del snippet: copia el código, dice Copiado y se queda oculto donde el navegador no tiene portapapeles. Borrable por separado.", |
| 219 | "gallery.started.file.datetime-js": "La entrada en lenguaje natural de los campos de fecha. Inerte hasta que un campo se apunta con data-rst-date o data-rst-time, y borrable por separado.", |
| 220 | "gallery.started.file.fiesta-js": "Las mejoras que quieren casi todas las páginas: menús que se cierran con un clic fuera y con Escape, el arrastre del interruptor, el estado pulsado de iOS y el menú de esquema de color. Cárgalo primero.", |
| 221 | "gallery.started.file.light-js": "La luz que leen los estilos de profundidad: sombras iluminadas según la hora, y un brillo en el botón bajo el puntero. Bórralo para el diseño estático.", |
| 222 | "gallery.started.file.select-js": "El combobox con búsqueda de field-select. Inerte hasta que un select se apunta con data-rst-select, y borrable por separado.", |
| 223 | "gallery.started.file.shell-css": "El deslizamiento entre páginas en el móvil, para los shells sidebar y console. Borrable junto con shell.js.", |
| 224 | "gallery.started.file.shell-js": "La navegación en el móvil de los shells sidebar y console: el deslizamiento entre páginas, un Atrás que reutiliza el historial y el foco devuelto a la sección que dejaste. Borrable por separado.", |
| 225 | "gallery.started.file.sprite": "Un sprite con un symbol por icono, para un sitio que sirve su propia copia de Fiesta. Desde la CDN, inserta en su lugar el SVG de icons/<slug>.svg.", |
| 226 | "gallery.started.file.strings": "Las palabras que select.js, datetime.js y copy.js ponen en pantalla, en {language}. Carga el que coincida con el lang de tu página.", |
| 227 | "gallery.started.file.theme": "Color, familia tipográfica y forma del tema {theme}: un único bloque :root donde cada color se declara una vez como par light-dark().", |
| 228 | "gallery.started.file.tokens": "Estructura: todas las clases de componentes, todas las escalas y ningún literal de color. El mismo archivo bajo cualquier tema.", |
| 229 | "gallery.started.file.transition-js": "Evita que una transición de página omitida registre un error en las páginas column, stage y topbar. Cárgalo antes de las hojas de estilo, sin defer. Las páginas sidebar y console no lo necesitan.", |
| 230 | "gallery.started.lead": "Fiesta es una hoja de estilos y un puñado de scripts opcionales. Todo funciona sin scripts; los scripts son mejoras, cada uno en su propio archivo, así que cargas los que usa tu página y nada más.", |
| 231 | "gallery.started.link.body": "Enlaza fiesta.css desde la CDN y tu marcado queda con estilo. /1/ es la 1.x más reciente; un cambio que rompería el marcado existente es una versión mayor nueva. Fija la versión exacta cuando necesites bytes que no cambien nunca.", |
| 232 | "gallery.started.link.heading": "El único enlace", |
| 233 | "gallery.started.own.body": "Toma tokens.css y un tema, o el archivo unido, de una versión publicada y sírvelos con tu sitio; los archivos de releases/<version>/ en el repositorio traen un SHA256SUMS. Enlaza tokens.css primero.", |
| 234 | "gallery.started.own.heading": "Servir tu propia copia", |
| 235 | "gallery.started.scripts": "Los scripts", |
| 236 | "gallery.started.scripts.body": "fiesta.js cierra los menús, permite arrastrar el mando de un interruptor, da a iOS su estado pulsado y hace funcionar el menú de esquema de color; cárgalo primero. busy.js, light.js, anchor.js, shell.js, transition.js, copy.js, select.js, datetime.js y calendar.js están inactivos hasta que una página usa lo que mejoran, y cada uno se puede borrar por separado. Carga calendar.js al final.", |
| 237 | "gallery.started.stylesheets": "Las hojas de estilo", |
| 238 | "gallery.started.stylesheets.body": "fiesta.css es tokens.css y el tema Day unidos, sin comentarios, por debajo de 25 KiB con gzip. Los tokens contienen la disposición y el comportamiento de cada componente; el tema los pinta. fiesta-plain.css y fiesta-signal.css son los mismos tokens con los temas Plain y Signal. Una página que usa el armazón sidebar o console enlaza también shell.css; nada más lo necesita.", |
| 239 | "gallery.started.total": "Una página que enlaza fiesta.css y todos los scripts recibe {raw} de CSS y JavaScript tal como está escrito, {gzip} con gzip.", |
| 240 | "gallery.started.upgrading": "Actualizar", |
| 241 | "gallery.started.upgrading.body": "Una página en /1/ recibe cada versión 1.x el día que sale; el registro de cambios dice qué ha cambiado. Una página fijada a una versión exacta cambia cuando cambias el enlace, y no antes.", |
| 242 | "gallery.started.weight": "{raw} tal como está escrito · {gzip} con gzip · {stripped} con gzip y sin comentarios", |
| 243 | "gallery.started.weights": "Cuánto pesa cada archivo", |
| 244 | "gallery.started.weights.note": "Tamaños en KiB. Lo que descarga un visitante es la versión con gzip.", |
| 245 | "gallery.step.next": "Siguiente: {page}", |
| 246 | "gallery.step.prev": "Anterior: {page}", |
| 247 | "gallery.steps.label": "Anterior y siguiente", |
| 248 | "gallery.theme.label": "Tema", |
| 249 | "gallery.title": "{page} · Fiesta · {theme}", |
| 250 | "gallery.tokens.group.accent": "Color de acento", |
| 251 | "gallery.tokens.group.controls": "Controles", |
| 252 | "gallery.tokens.group.depth": "Profundidad", |
| 253 | "gallery.tokens.group.radius": "Radio de esquina", |
| 254 | "gallery.tokens.group.spacing": "Espaciado", |
| 255 | "gallery.tokens.group.status-tones": "Tonos de estado", |
| 256 | "gallery.tokens.group.surfaces-and-lines": "Superficies y líneas", |
| 257 | "gallery.tokens.group.text": "Texto", |
| 258 | "gallery.tokens.group.type-choices": "Decisiones tipográficas", |
| 259 | "gallery.tokens.group.type-family": "Familia tipográfica", |
| 260 | "gallery.tokens.group.type-scale": "Escala tipográfica", |
| 261 | "gallery.tokens.lead": "Las propiedades personalizadas que lee cada componente. El color, la familia tipográfica y la forma vienen del tema, css/themes/{theme}.css. La escala tipográfica y los pasos de espaciado son estructura, iguales en todos los temas, y vienen de css/tokens.css.", |
| 262 | "gallery.tokens.note": "Se muestran los valores claros. Cada color se declara una vez como par light-dark(), y las muestras siguen el menú de esquema de arriba. Mínimos WCAG 2.2 AA: 4.5:1 para texto, 3:1 para bordes de controles.", |
| 263 | "gallery.up": "Volver a {name}", |
| 264 | "gallery.up.label": "Secciones", |
| 265 | "gallery.view.desktop": "Escritorio", |
| 266 | "gallery.view.legend": "Vista previa", |
| 267 | "gallery.view.mobile": "Móvil", |
| 268 | "gallery.wrap": "Pon esto dentro de {wrapper}.", |
| 269 | "labels.actor.a-person": "Una persona", |
| 270 | "labels.actor.an-agent-acting-for-a-person": "Un agente que actúa por una persona", |
| 271 | "labels.api-tokens.four-tokens-two-of-them-live": "Cuatro tokens, dos de ellos activos", |
| 272 | "labels.api-tokens.just-created-the-secret-shown-once": "Recién creado: el secreto, mostrado una vez", |
| 273 | "labels.api-tokens.no-tokens-yet": "Todavía no hay tokens", |
| 274 | "labels.back-nav.back-to-a-record": "Volver a un registro", |
| 275 | "labels.badge.negative": "negative", |
| 276 | "labels.badge.neutral": "neutral", |
| 277 | "labels.badge.no-tone-quiet-default": "Sin tono (el valor por defecto discreto)", |
| 278 | "labels.badge.positive": "positive", |
| 279 | "labels.badge.warning": "warning", |
| 280 | "labels.bulk-bar.three-rows-selected": "Tres filas seleccionadas", |
| 281 | "labels.callout.info": "info", |
| 282 | "labels.callout.negative": "negative", |
| 283 | "labels.callout.negative-announced-as-an-alert": "negative, anunciado como alerta", |
| 284 | "labels.callout.positive": "positive", |
| 285 | "labels.callout.warning": "warning", |
| 286 | "labels.choice-field.pick-any": "Elige las que quieras", |
| 287 | "labels.choice-field.pick-one": "Elige una", |
| 288 | "labels.confirm-form.destructive": "Destructivo", |
| 289 | "labels.confirm-form.ordinary-default-cancel-wording": "Caso normal, con la redacción de cancelar por defecto", |
| 290 | "labels.detail-list.four-facts-one-machine-ish": "Cuatro datos, uno de aspecto técnico", |
| 291 | "labels.dropdown.a-filter-menu-with-one-choice-applied": "Un menú de filtro con una opción aplicada", |
| 292 | "labels.empty-state.sentence-only": "Solo la frase", |
| 293 | "labels.empty-state.with-a-post-call-to-action": "Con una llamada a la acción por POST", |
| 294 | "labels.error-page.403-forbidden": "403: prohibido", |
| 295 | "labels.error-page.404-not-found": "404: no encontrado", |
| 296 | "labels.error-page.422-unprocessable": "422: no procesable", |
| 297 | "labels.error-page.500-server-error": "500: error del servidor", |
| 298 | "labels.error-page.503-unavailable": "503: no disponible", |
| 299 | "labels.error-page.anything-else-the-generic-pair": "Cualquier otro caso: el par genérico", |
| 300 | "labels.field-check.disabled": "Desactivado", |
| 301 | "labels.field-check.off": "Apagado", |
| 302 | "labels.field-check.on": "Encendido", |
| 303 | "labels.field-date.bounded": "Con límites", |
| 304 | "labels.field-date.enhanced-input-type-tomorrow-or-in-3-weeks": "Campo mejorado: escribe \"mañana\" o \"en 3 semanas\"", |
| 305 | "labels.field-date.plain-the-bare-native-input": "Plain: el campo nativo tal cual", |
| 306 | "labels.field-date.required-with-an-error": "Obligatorio, con un error", |
| 307 | "labels.field-daterange.date-and-time-seeded": "Fecha y hora, con valores iniciales", |
| 308 | "labels.field-daterange.dates-only-with-an-error-on-the-end": "Solo fechas, con un error en el fin", |
| 309 | "labels.field-datetime.bounded": "Con límites", |
| 310 | "labels.field-datetime.enhanced-input-type-tomorrow-or-in-3-weeks": "Campo mejorado: escribe \"mañana\" o \"en 3 semanas\"", |
| 311 | "labels.field-datetime.plain-the-bare-native-input": "Plain: el campo nativo tal cual", |
| 312 | "labels.field-datetime.required-with-an-error": "Obligatorio, con un error", |
| 313 | "labels.field-money.bare": "Sin adornos", |
| 314 | "labels.field-money.with-a-hint": "Con una pista", |
| 315 | "labels.field-money.with-an-error": "Con un error", |
| 316 | "labels.field-select.hand-written-with-optgroups": "Escrito a mano, con optgroups", |
| 317 | "labels.field-select.required-with-an-error": "Obligatorio, con un error", |
| 318 | "labels.field-select.three-options-a-native-select": "Tres opciones: un select nativo", |
| 319 | "labels.field-select.twelve-options-plain-the-enhancement-opted-out": "Doce opciones, Plain: la mejora rechazada", |
| 320 | "labels.field-select.twelve-options-the-filterable-combobox": "Doce opciones: el combo con filtro", |
| 321 | "labels.field-text.bare": "Sin adornos", |
| 322 | "labels.field-text.required": "Obligatorio", |
| 323 | "labels.field-text.the-headline-field": "El campo principal", |
| 324 | "labels.field-text.with-a-hint": "Con una pista", |
| 325 | "labels.field-text.with-an-error": "Con un error", |
| 326 | "labels.field-textarea.bare": "Sin adornos", |
| 327 | "labels.field-textarea.required": "Obligatorio", |
| 328 | "labels.field-textarea.with-a-hint": "Con una pista", |
| 329 | "labels.field-textarea.with-an-error": "Con un error", |
| 330 | "labels.field-time.bounded": "Con límites", |
| 331 | "labels.field-time.enhanced-input-type-half-seven-or-noon": "Campo mejorado: escribe \"siete y media\" o \"mediodía\"", |
| 332 | "labels.field-time.plain-the-bare-native-input": "Plain: el campo nativo tal cual", |
| 333 | "labels.field-time.required-with-an-error": "Obligatorio, con un error", |
| 334 | "labels.field-url.bare": "Sin adornos", |
| 335 | "labels.field-url.with-a-hint": "Con una pista", |
| 336 | "labels.field-url.with-an-error": "Con un error", |
| 337 | "labels.field.bare": "Sin adornos", |
| 338 | "labels.field.required": "Obligatorio", |
| 339 | "labels.field.short": "Corto", |
| 340 | "labels.field.the-headline-field": "El campo principal", |
| 341 | "labels.field.with-a-hint": "Con una pista", |
| 342 | "labels.field.with-an-error": "Con un error", |
| 343 | "labels.field.with-help-under-the-control": "Con ayuda debajo del control", |
| 344 | "labels.form-error.a-rejected-submission": "Un envío rechazado", |
| 345 | "labels.form-foot.idle-the-button-before-anything-happens": "En reposo: el botón antes de que ocurra nada", |
| 346 | "labels.form-foot.save-and-cancel": "Guardar y cancelar", |
| 347 | "labels.form-foot.submit-only": "Solo enviar", |
| 348 | "labels.form-foot.working-what-busy-js-writes-on-the-way-out": "Trabajando: lo que busy.js escribe al salir el formulario", |
| 349 | "labels.job-status.failed": "Ha fallado", |
| 350 | "labels.job-status.finished": "Terminado", |
| 351 | "labels.job-status.running": "En marcha", |
| 352 | "labels.list-bar-search.empty-accessible-name-from-the-catalog": "Vacío, con el nombre accesible tomado del catálogo", |
| 353 | "labels.list-bar-search.with-a-query": "Con una consulta", |
| 354 | "labels.list-bar-search.with-a-query-on-page-4": "Con una consulta, en la página 4", |
| 355 | "labels.list-bar.search-with-a-filter-dropdown": "Búsqueda con un desplegable de filtro", |
| 356 | "labels.list-row-action.a-short-status-beside-the-name": "Un estado corto junto al nombre", |
| 357 | "labels.list-row-action.lead-marker-status-and-an-action": "Marca inicial, estado y una acción", |
| 358 | "labels.list-row-action.name-and-meta-line-only": "Solo el nombre y la línea de detalle", |
| 359 | "labels.list-search-submit.default-label": "Etiqueta por defecto", |
| 360 | "labels.locale-menu.twelve-languages-current-highlighted": "Doce idiomas, con el actual resaltado.", |
| 361 | "labels.media-grid.screenshots-a-logo-and-a-banner": "Capturas, un logotipo y un banner", |
| 362 | "labels.media-grid.select-mode-one-tile-selected": "Modo de selección, un mosaico seleccionado", |
| 363 | "labels.meter.empty": "Vacío", |
| 364 | "labels.meter.full": "Lleno", |
| 365 | "labels.meter.nearly-full": "Casi lleno", |
| 366 | "labels.meter.over-budget": "Por encima del límite", |
| 367 | "labels.meter.part-way": "A medias", |
| 368 | "labels.notice.a-saved-message": "Un mensaje de guardado", |
| 369 | "labels.page-header.title-only": "Solo el título", |
| 370 | "labels.page-header.title-subhead-and-a-primary-action": "Título, subtítulo y una acción principal", |
| 371 | "labels.pagination.first-page-default-accessible-name": "Primera página, con el nombre accesible por defecto", |
| 372 | "labels.pagination.middle-of-a-long-list": "En medio de una lista larga", |
| 373 | "labels.person.large-the-show-header-size": "Grande, el tamaño de la cabecera de detalle", |
| 374 | "labels.person.name-and-email": "Nombre y correo", |
| 375 | "labels.person.no-initial": "Sin inicial", |
| 376 | "labels.row-menu.links-a-form-and-a-destructive-item": "Enlaces, un formulario y un elemento destructivo", |
| 377 | "labels.row-menu.links-only-for-a-list-inside-a-selection-form": "Solo enlaces, para una lista dentro de un formulario de selección", |
| 378 | "labels.scheme-menu.standalone": "Por su cuenta: la página recuerda la elección", |
| 379 | "labels.scheme-menu.three-choices-dark-current": "Tres opciones, con Oscuro como actual.", |
| 380 | "labels.seg-tabs.buttons-that-switch-in-place": "Botones que cambian sin salir de la página", |
| 381 | "labels.seg-tabs.two-sections": "Dos secciones", |
| 382 | "labels.side-nav.four-sections-the-first-open": "Cuatro secciones, la primera abierta", |
| 383 | "labels.signin.a-passkey": "Una clave de acceso", |
| 384 | "labels.signin.after-the-link-is-sent": "Después de enviar el enlace", |
| 385 | "labels.signin.after-the-link-is-sent-in-another-browser": "Después de enviar el enlace, en otro navegador", |
| 386 | "labels.signin.an-address-that-does-not-look-right": "Una dirección que no parece correcta", |
| 387 | "labels.signin.asking-for-an-address": "Pedir una dirección", |
| 388 | "labels.signin.coming-back-with-an-email-link": "Volver con un enlace por correo", |
| 389 | "labels.signin.coming-back-with-keymail": "Volver con Keymail", |
| 390 | "labels.signin.email-and-password": "Correo y contraseña", |
| 391 | "labels.signin.google-apple-and-the-rest": "Google, Apple y los demás", |
| 392 | "labels.signin.on-the-way-to-keymail": "De camino a Keymail", |
| 393 | "labels.signin.when-keymail-could-not-confirm-it": "Cuando Keymail no pudo confirmarlo", |
| 394 | "labels.signin.when-keymail-was-offered-and-a-link-went-out": "Cuando se ofreció Keymail y salió un enlace", |
| 395 | "labels.snippet.a-line-to-copy": "Una línea para copiar", |
| 396 | "labels.stat-band.two-to-a-line-on-a-phone": "Dos por línea en un móvil", |
| 397 | "labels.stat.a-shortened-number": "Un número acortado", |
| 398 | "labels.stat.a-smaller-number": "Un número más pequeño", |
| 399 | "labels.stat.the-big-number": "El número grande", |
| 400 | "labels.stat.when-going-down-is-good": "Cuando bajar es bueno", |
| 401 | "labels.stat.when-going-up-is-bad": "Cuando subir es malo", |
| 402 | "labels.stat.when-you-cannot-say": "Cuando no puedes decirlo", |
| 403 | "labels.status-pill.negative": "negative", |
| 404 | "labels.status-pill.neutral": "neutral", |
| 405 | "labels.status-pill.positive": "positive", |
| 406 | "labels.status-pill.warning": "warning", |
| 407 | "pages.idioms.box.body": "rst-list y rst-card no tienen relleno a propósito: contienen una serie de filas, y cada fila se rellena a sí misma. Mete dentro un formulario, un párrafo, una tira de enlaces o cualquier cosa que no sea una fila y se dibujará pegado al borde: el texto tocando el borde es la señal. La tarjeta con relleno para contenido cualquiera es rst-box, con su título como rst-box-head hermano justo antes.", |
| 408 | "pages.idioms.box.title": "Qué tarjeta es cuál", |
| 409 | "pages.idioms.list-grid.body": "Una pantalla es una columna: page-header, luego section-header + tarjeta, luego el siguiente section-header + tarjeta, en orden de lectura. La disposición horizontal queda reservada a los idiomas que la traen: rst-box-head, rst-field-row, rst-lbar, celdas rst-lrow, rst-seg-tabs.", |
| 410 | "pages.idioms.list-grid.title": "Las pantallas se apilan en vertical" |
| 411 | } |
| 412 | |