{
  "nav.inicio": "Home",
  "nav.eventos": "Events",
  "nav.ajustes": "Settings",
  "comun.ejemplo.titulo": "Sample data",
  "comun.ejemplo.texto": "Reversa has not recorded any real changes in this store yet. What you see is the Moda Aurelia test scenario: 300 products, a CSV import with prices ×100 and 6 manual fixes afterwards.",
  "comun.simulacion.titulo": "Simulation",
  "comun.simulacion.texto": "Writing to Shopify is not connected yet: nothing has changed in the store. The result is calculated on the sample data.",
  "comun.hoy": "Today",
  "comun.ayer": "Yesterday",
  "comun.productos": "{n} products",
  "comun.productos.uno": "1 product",
  "comun.campos": "{n} fields",
  "comun.campos.uno": "1 field",
  "comun.operaciones": "{n} operations",
  "comun.operaciones.uno": "1 operation",
  "comun.cambios": "{n} changes",
  "comun.cambios.uno": "1 change",
  "comun.recursos": "{n} resources",
  "comun.recursos.uno": "1 resource",
  "comun.confirmado": "Confirmed",
  "comun.deducido": "Inferred",
  "comun.vacio": "—",
  "comun.abrir": "Open",
  "comun.volver": "Back",
  "comun.no_encontrado": "We could not find that.",
  "tipo.importacion": "Import",
  "tipo.edicion": "Edit",
  "tipo.inventario": "Inventory",
  "tipo.reversion": "Undone with Reversa",
  "origen.importacion_csv": "CSV import",
  "origen.edicion_manual": "Manual edit",
  "origen.desconocido": "Another app or integration",
  "origen.reversa": "Reversa",
  "origen.equipo": "The team",
  "origen.app": "An app",
  "origen.panel": "Shopify admin",
  "confianza.alta": "high confidence",
  "confianza.media": "medium confidence",
  "confianza.baja": "low confidence",
  "motivo.importacion_csv": "{productos} in {minutos} min, same {factor}",
  "motivo.importacion_csv.sin_factor": "{productos} in {minutos} min, same fields",
  "motivo.edicion_manual": "isolated change, no common pattern",
  "motivo.panel": "Shopify says who adjusted the stock",
  "motivo.desconocido": "{productos} with no recognised pattern",
  "motivo.confirmado_equipo": "confirmed by your team",
  "motivo.reversa": "done from Reversa",
  "patron.variado": "{campo} (varied values)",
  "estado.anomalo": "Alert",
  "estado.aviso_enviado": "Alert sent",
  "estado.corregido_despues": "Fixed later",
  "estado.normal": "Normal",
  "estado.deshecho": "Undone",
  "estado.no_se_toca": "Not touched",
  "campo.precio": "Price",
  "campo.precioComparacion": "Compare-at price",
  "campo.inventario": "Inventory",
  "campo.titulo": "Title",
  "campo.descripcionHtml": "Description",
  "campo.etiquetas": "Tags",
  "campo.proveedor": "Vendor",
  "campo.tipo": "Product type",
  "campo.estado": "Status",
  "campo.handle": "Handle",
  "campo.sku": "SKU",
  "campo.codigoBarras": "Barcode",
  "campo.codigosBarrasExtra": "Additional barcodes",
  "campo.existe": "Exists",
  "respuesta.he_sido_yo": "It was me",
  "respuesta.una_app": "An app",
  "respuesta.no_lo_se": "I don't know",
  "resultado.vuelve": "Reverts",
  "resultado.se_respeta": "Kept",
  "resultado.ya_restaurado": "Already restored",
  "resultado.anadido_y_quitado": "Added, then removed",
  "resultado.no_se_toca": "Not touched",
  "resultado.no_existe": "No longer exists",
  "inicio.titulo": "Reversa",
  "inicio.registrando.titulo": "Reversa is recording your catalog changes",
  "inicio.registrando.texto": "{n} Shopify notifications received for this store. Changes Shopify reports for products, variants, prices, collections and channels are recorded and grouped by event.",
  "inicio.registrando.texto.uno": "1 Shopify notification received for this store. Changes Shopify reports for products, variants, prices, collections and channels are recorded and grouped by event.",
  "inicio.sin_registrar.titulo": "Reversa has not received any change from Shopify yet",
  "inicio.sin_registrar.texto": "Until the first notification arrives the store cannot be called monitored. Edit a product to check the connection.",
  "inicio.inventario": "Inventory is only recorded: Reversa doesn't revert it.",
  "inicio.kpi.vigilados": "Products monitored",
  "inicio.kpi.ultimo": "Last change",
  "inicio.kpi.eventos_hoy": "Events today",
  "inicio.ultimos.titulo": "Latest events",
  "inicio.ultimos.ver_todos": "See all events",
  "eventos.titulo": "Events",
  "eventos.subtitulo": "Every change is grouped by the event that caused it: an import, an app, a person.",
  "eventos.filtro.tipo": "Type",
  "eventos.filtro.origen": "Probable source",
  "eventos.filtro.estado": "Status",
  "eventos.filtro.todos": "All",
  "eventos.filtro.aplicar": "Filter",
  "eventos.filtro.limpiar": "Clear filters",
  "eventos.col.hora": "Time",
  "eventos.col.origen": "Source",
  "eventos.col.que": "What changed",
  "eventos.col.alcance": "Scope",
  "eventos.col.estado": "Status",
  "eventos.vacio": "No events match those filters.",
  "eventos.pie": "Alerts follow your Protection profile ({perfil}).",
  "eventos.pagina": "Page {pagina}",
  "detalle.titulo": "{tipo} · {momento}",
  "detalle.origen": "Source",
  "detalle.que_paso.titulo": "What happened",
  "detalle.que_paso.patron": "Pattern: {firma}.",
  "detalle.que_paso.factor": "An exact {factor} on every price usually comes from a file saved without its decimal separator (49.95 → 4995).",
  "detalle.que_paso.inventario": "Stock changes with every sale. Reversa records it so you can see it, but doesn't revert it.",
  "detalle.que_paso.imagen_quitada": "The image was added and then removed: there is nothing to undo.",
  "detalle.que_paso.imagenes_quitadas": "The {n} images were added and then removed: there is nothing to undo.",
  "detalle.que_paso.anadido_y_quitado": "The field was added and then removed: there is nothing to undo.",
  "detalle.que_paso.anadidos_y_quitados": "{n} fields were added and then removed: there is nothing to undo.",
  "detalle.contador.vuelven": "fields revert to their previous value",
  "detalle.contador.vuelven.uno": "field reverts to its previous value",
  "detalle.contador.se_respetan": "changed afterwards: left as they are",
  "detalle.contador.se_respetan.uno": "changed afterwards: left as it is",
  "detalle.contador.ya_restaurados": "already have their previous value",
  "detalle.contador.ya_restaurados.uno": "already has its previous value",
  "detalle.contador.inventario": "inventory changes: not touched",
  "detalle.contador.inventario.uno": "inventory change: not touched",
  "detalle.quien.titulo": "Help us recognise it next time",
  "detalle.quien.texto": "Shopify does not say who made this change. Your answer is recorded and helps recognise the same pattern next time.",
  "detalle.quien.texto.inventario": "Shopify reports the app or person who adjusted the stock when it provides it, so nothing needs confirming here.",
  "detalle.quien.texto.confirmado": "The source of this event is already confirmed.",
  "detalle.quien.registrado": "Answer recorded: {respuesta} · {momento}",
  "detalle.tabla.atencion": "Need attention",
  "detalle.tabla.atencion.texto": "Fields someone changed after the event. They are left as they are: Reversa doesn't overwrite them.",
  "detalle.tabla.titulo": "All fields",
  "detalle.tabla.mostrar": "Show {campos}",
  "detalle.tabla.ocultar": "Hide table",
  "detalle.tabla.pagina": "Page {pagina} of {total}",
  "detalle.col.producto": "Product",
  "detalle.col.campo": "Field",
  "detalle.col.antes": "Before",
  "detalle.col.tras": "After the change",
  "detalle.col.ahora": "Now",
  "detalle.col.resultado": "Result",
  "detalle.preparar": "Undo this change…",
  "detalle.deshecho": "This event has already been undone.",
  "detalle.ver_reversion": "See what was undone",
  "detalle.deshecho.resumen": "Undone · {momento} · {correctos} of {total} checked",
  "detalle.deshecho.comprobando": "Undone · {momento} · checking field by field…",
  "detalle.deshecho.sin_comprobacion": "Undone · {momento}",
  "detalle.deshecho.texto": "Reversa put these fields back to their previous value. «See what was undone» shows what was written, what was left as it was and how to go back.",
  "detalle.volver": "Events",
  "detalle.no_encontrado": "We could not find that event.",
  "deshacer.vuelven.titulo": "What reverts",
  "deshacer.vuelven.texto": "{campos} across {productos} return to their value before the event. According to the history, nobody has touched them since.",
  "deshacer.vuelven.texto.uno": "1 field across {productos} returns to its value before the event. According to the history, nobody has touched it since.",
  "deshacer.vuelven.nada": "No field reverts: there is nothing to undo.",
  "deshacer.respetan.titulo": "What we leave as it is, and why",
  "deshacer.respetan.texto": "{campos} were changed after the event. Reversa keeps the current value and doesn't overwrite it.",
  "deshacer.respetan.texto.uno": "1 field was changed after the event. Reversa keeps the current value and doesn't overwrite it.",
  "deshacer.respetan.nada": "No field changed after the event.",
  "deshacer.nunca.titulo": "What we don't touch",
  "deshacer.nunca.inventario": "Inventory: stock changes with every sale; it is recorded, not reverted. In this event: {cambios} to inventory.",
  "deshacer.nunca.no_existen": "No longer exist and cannot be restored: {recursos}.",
  "deshacer.nunca.no_existen.uno": "No longer exists and cannot be restored: 1 resource.",
  "deshacer.operaciones": "{operaciones} in Shopify, one per product.",
  "deshacer.confirmar": "Undo {campos}",
  "deshacer.cancelar": "Back to the event",
  "deshacer.miga": "Event",
  "deshacer.ya_deshecho": "This event has already been undone.",
  "deshacer.simulacion": "Simulation: writing to Shopify is not connected yet. When you confirm you will see the result calculated on the sample data; nothing changes in the store.",
  "reversion.titulo.en_curso": "Undoing {tipo} from {momento}…",
  "reversion.titulo.hecha": "Done: {campos} are back to their previous value",
  "reversion.subtitulo.en_curso": "You can close this screen: we'll keep going in the background.",
  "reversion.subtitulo.hecha": "Started {momento} · {productos}",
  "reversion.subtitulo.cuando": "{momento} · {productos}",
  "reversion.fase.guardando_punto": "Saving the restore point",
  "reversion.fase.escribiendo": "Writing: {hechos} of {recursos}",
  "reversion.fase.comprobando": "Checking every field",
  "reversion.fase.comprobada": "We checked every field in Shopify: {correctos} of {total} match.",
  "reversion.resultado.campos": "Fields undone",
  "reversion.resultado.campos.uno": "Field undone",
  "reversion.resultado.campos.texto": "The store was read again: {correctos} of {total} match the expected value.",
  "reversion.resultado.campos.texto.uno": "The store was read again: 1 of {total} matches the expected value.",
  "reversion.resultado.respetados": "Fields changed afterwards, left as they are",
  "reversion.resultado.respetados.uno": "field changed afterwards, left as it is",
  "reversion.resultado.respetados.texto": "The current value of those fields was preserved.",
  "reversion.resultado.inventario": "Inventory changes",
  "reversion.resultado.inventario.uno": "inventory change",
  "reversion.resultado.inventario.texto": "Stock and orders were not touched.",
  "reversion.diferencias": "Do not match the expected value: {campos}. Review them before retrying.",
  "reversion.diferencias.uno": "Does not match the expected value: 1 field. Review it before retrying.",
  "reversion.deshacer.titulo": "Put it back the way it was before undoing?",
  "reversion.deshacer.texto": "Puts {campos} back to the value they had after the event. Another restore point is saved first.",
  "reversion.deshacer.texto.uno": "Puts 1 field back to the value it had after the event. Another restore point is saved first.",
  "reversion.deshacer.accion": "Put it back the way it was before undoing",
  "reversion.deshecha": "This undo was undone afterwards.",
  "reversion.deshace_otra": "This undo reverses an earlier undo.",
  "reversion.ver_evento": "See the event",
  "reversion.ver_reversion": "See what was undone",
  "reversion.volver_inicio": "Back to home",
  "reversion.miga": "Home",
  "reversion.no_encontrada": "We could not find that undo.",
  "ajustes.titulo": "Settings",
  "ajustes.email.ayuda": "Addresses separated by commas",
  "ajustes.idioma.titulo": "Alert language",
  "ajustes.idioma.es": "Spanish",
  "ajustes.idioma.en": "English",
  "ajustes.plan.starter": "Starter",
  "ajustes.plan.growth": "Growth",
  "ajustes.plan.pro": "Pro",
  "ajustes.guardar": "Save",
  "ajustes.guardado": "Settings saved.",
  "inicio.copiando.titulo": "Copying the catalog: {hechos} of {total}",
  "inicio.copiando.texto": "Reversa is reading every product and variant to have the “before” of each change. Until it finishes the store cannot be called monitored.",
  "inicio.sin_copia.titulo": "Reversa does not have a copy of the catalog yet",
  "inicio.sin_copia.texto": "Without a copy there is no “before” to compare against. Start the copy to begin monitoring the store.",
  "inicio.copia_fallida.titulo": "The catalog copy failed",
  "inicio.copia_fallida.texto": "Shopify could not finish reading the catalog: {error}. Reversa tries again by itself when you open the app (at most every 15 minutes), or you can start it now.",
  "inicio.copia.lanzar": "Copy the catalog now",
  "inicio.copia.repetir": "Copy the catalog again",
  "inicio.copia.terminada": "Copy finished {momento} · {productos} in the copy.",
  "inicio.ultimos.vacio": "No events yet. Edit a product in Shopify and it will show up here within a minute.",
  "reversion.fallida.titulo": "The undo could not be completed",
  "reversion.fallida.texto": "Nothing else was touched. Reason: {error}",
  "reversion.errores_shopify": "Shopify rejected some writes:",
  "reversion.ver_registro": "See the changes this undo made",
  "detalle.autor": "Name according to Shopify: {nombre}",
  "ajustes.pruebas.titulo": "Tests (development stores only)",
  "ajustes.pruebas.texto": "Reproduces our acceptance tests against this store, one per resource, on the products tagged prueba-reversa. The writes go through the API as another app would: they count as external changes and are flagged as test. Pick the resource, trigger the incident and, once the event closes, undo it from its detail. “Restore” returns that resource to its base state.",
  "ajustes.pruebas.sin_catalogo": "These tools work on Reversa's sample test catalog, which this store doesn't have. To see Reversa in action, change the price or title of any product in Shopify (or of several at once with the bulk editor): the change shows up in Events within a minute and, once the event closes (or you click “Close event now” in its detail), you can undo it from there.",
  "ajustes.pruebas.incidente": "Trigger a test incident",
  "ajustes.pruebas.restaurar": "Restore test catalog",
  "ajustes.pruebas.restaurar.ayuda": "Returns the test products to the prices in the base CSV to leave the store clean.",
  "ajustes.pruebas.fase.multiplicando": "Multiplying prices ×100: {hechos} of {total} products",
  "ajustes.pruebas.fase.restaurando": "Restoring prices from the base CSV: {hechos} of {total} products",
  "ajustes.pruebas.fase.esperando_registro": "Waiting for Reversa to record the changes: {registrados} of {esperados}",
  "ajustes.pruebas.fase.corrigiendo": "Import recorded. Applying 6 later fixes…",
  "ajustes.pruebas.fase.esperando_correcciones": "Waiting for Reversa to record the fixes: {registrados} of {esperados}",
  "ajustes.pruebas.fase.hecha": "Test finished {momento}.",
  "ajustes.pruebas.fase.fallida": "The test could not be completed: {error}",
  "ajustes.pruebas.fase.cancelada": "Test cancelled {momento}. What was already written stays in the store: “Restore” returns it to the base state.",
  "ajustes.pruebas.cancelar.boton": "Cancel the running test",
  "ajustes.pruebas.cancelar.ayuda": "If the test keeps waiting for changes that don't arrive, cancel it (the store is not touched) and use “Restore”. “Restore” also cancels on its own a test that is only waiting for the record.",
  "ajustes.pruebas.ver_evento": "View the incident event",
  "ajustes.pruebas.ver_evento.restaurar": "View the restoration event",
  "ajustes.pruebas.siguiente": "Once the event closes (11 minutes without changes, or “Close event now” in its detail) you can prepare it to undo: 594 revert, 6 are kept.",
  "ajustes.pruebas.error": "The test could not be started: {error}",
  "ajustes.error.generico": "Something went wrong and the change wasn't made. Try again in a moment; if it keeps happening, contact support from Help.",
  "ajustes.pruebas.error.en_curso": "A test is already running. Wait for it to finish or cancel it before starting another one.",
  "ajustes.pruebas.error.no_desarrollo": "The test tools are only available in development stores.",
  "ajustes.pruebas.error.sin_csv": "The test could not be started: this server doesn't have the test catalog files.",
  "detalle.cerrar_ahora": "Close event now",
  "detalle.abierto": "This event is still open: it may receive more changes for 10 minutes. Once it closes you'll be able to undo it in one go.",
  "detalle.prueba": "Event triggered by Reversa's test tool.",
  "aviso.asunto": "{tienda}: {resumen}",
  "aviso.resumen.multiplicados": "{productos} with prices multiplied by {factor}",
  "aviso.resumen.divididos": "{productos} with prices divided by {factor}",
  "aviso.resumen.generico": "{productos} with unusual changes in {campos}",
  "aviso.origen": "Likely source: {origen}",
  "aviso.origen.confirmado": "Origin: {origen} (confirmed)",
  "aviso.plan": "{vuelven} can be undone · {respetan}",
  "aviso.plan.respetan": "{n} fields were changed afterwards and are left as they are",
  "aviso.plan.respetan.uno": "1 field was changed afterwards and is left as it is",
  "aviso.plan.respetan.ninguno": "nothing was changed afterwards",
  "aviso.ejemplo": "Example: {producto} · {campo}: {antes} → {despues}",
  "aviso.canales": "Sales channels products were removed from: {canales}.",
  "aviso.canales.mas": "and {n} more",
  "aviso.imagenes.copia": "Images removed: {total}. Reversa keeps a copy of {con} and can put them back when undoing.",
  "aviso.imagenes.sin_copia": "Images removed: {total}. Reversa has no copy of any of them; if Shopify already deleted the file, they can't be put back.",
  "aviso.momento": "Detected on {momento} · lasted {minutos} min",
  "aviso.accion": "Undo this change (you'll be asked to confirm)",
  "aviso.pie": "Before undoing you'll see what goes back and what we leave as it is. Nothing changes until you confirm.",
  "aviso.prueba.asunto": "{tienda}: Reversa test alert",
  "aviso.prueba.texto": "This is a test alert. Reversa alerts for {tienda} will arrive through this channel when an urgent guardrail fires (Protection → Alerts).",
  "aviso.canal.email": "email",
  "aviso.canal.slack": "Slack",
  "ajustes.slack.webhook": "Slack (incoming webhook)",
  "ajustes.slack.webhook.ayuda": "The URL Slack gives you when you create an incoming webhook: https://hooks.slack.com/services/…",
  "ajustes.slack.invalido": "The Slack URL does not look like an incoming webhook (https://hooks.slack.com/services/T…/B…/…). Not saved.",
  "ajustes.aviso_prueba": "Send test alert",
  "ajustes.aviso_prueba.resultado": "Test alert: {resultado}",
  "ajustes.aviso_prueba.enviado": "{canal} sent",
  "ajustes.aviso_prueba.fallido": "{canal} failed ({error})",
  "aviso.prueba.limite": "too many tests in the last hour; please wait a little",
  "ajustes.aviso_prueba.omitido": "{canal} disabled or without destination",
  "detalle.aviso.enviado": "We let you know by {canales} at {hora}.",
  "detalle.aviso.fallido": "The alert could not be sent by {canales}: {error}",
  "estado.revisado": "Reviewed",
  "campo.opciones": "Options",
  "campo.peso": "Weight",
  "campo.publicaciones": "Sales channels",
  "campo.metafield": "Metafield {nombre}",
  "campo.imagen.existe": "Image {archivo} (and its alt text)",
  "campo.imagen.posicion": "Position of {archivo}",
  "campo.imagen.existe.generico": "Image (and its alt text)",
  "campo.imagen.posicion.generico": "Image position",
  "campo.reglas": "Collection rules",
  "campo.ordenacion": "Collection sort order",
  "campo.pertenencia": "Collection products",
  "comun.o": "or",
  "comun.mas": "and {n} more",
  "motivo_plan.campo_no_restaurable": "not restored automatically",
  "motivo_plan.recurso_no_encontrado": "no longer exists; it can't be restored",
  "motivo_plan.borrado_segunda_fase": "recorded; Reversa doesn't re-create it (it would come back with a new ID)",
  "motivo_plan.segunda_fase": "recorded; Reversa doesn't undo it",
  "motivo_plan.referencia_no_existe": "the resource it points to no longer exists; kept as is",
  "motivo_plan.metafield_de_otra_app": "belongs to another app's reserved namespace and only that app can write it",
  "motivo_plan.imagen_no_disponible": "Shopify already deleted the original file and Reversa had no copy; it can't be re-attached",
  "motivo_plan.reglas_modelo_nuevo": "the collection uses Shopify's new model (several sources, exclusions or sub-collections) and this change was recorded without the detail of its sources: it is shown, but Reversa doesn't restore it",
  "deshacer.nunca.otros": "We also leave as they are:",
  "deshacer.imagenes.url": "Deleted images are re-attached from their original URL or, if Shopify already deleted the file, from the copy Reversa keeps; they come back with a new URL.",
  "comun.imagenes": "{n} images",
  "comun.imagenes.uno": "1 image",
  "omitidos.titulo": "What can't be recovered",
  "omitidos.imagenes": "{imagenes} can't be recovered: Shopify already deleted the original file and Reversa had no copy.",
  "omitidos.imagenes.uno": "1 image can't be recovered: Shopify already deleted the original file and Reversa had no copy.",
  "omitidos.otros": "{campos} can't be restored: {motivo}.",
  "omitidos.otros.uno": "1 field can't be restored: {motivo}.",
  "omitidos.copia": "Reversa keeps a copy of every image it sees while it's recording, so images deleted from now on can be recovered if their copy completed and is still within your plan's period.",
  "deshacer.nada": "There is nothing to undo: no field in this event can be restored. Shopify will not be touched.",
  "reversion.titulo.nada": "Nothing was restored",
  "reversion.fase.nada": "No changes: there was nothing to restore",
  "reversion.nada.texto": "When the store was read again, no field in the event could be restored. Shopify was not touched and the event is still not undone.",
  "reversion.omitidos.titulo": "Some fields could not be restored",
  "reversion.resultado.campos.nada": "No field was restored.",
  "detalle.marcar_revisado": "Mark as reviewed",
  "detalle.revisado": "Marked as reviewed {momento}. The alert no longer shows on Home.",
  "detalle.que_paso.alerta": "An urgent guardrail fired: it's an open alert until it is undone or marked as reviewed.",
  "comun.y": " and ",
  "ajustes.pruebas.recurso": "Resource to test",
  "ajustes.pruebas.recurso.precios": "Prices (test 1)",
  "ajustes.pruebas.recurso.estado": "Status and channels (test 8)",
  "ajustes.pruebas.recurso.imagenes": "Images (test 7)",
  "ajustes.pruebas.recurso.variantes": "Variants (test 6)",
  "ajustes.pruebas.recurso.metafields": "Metafields (test 4)",
  "ajustes.pruebas.recurso.coleccion": "Automated collection",
  "ajustes.pruebas.precios.texto": "Multiplies the price and compare-at price of the 300 test products by 100, as an import app would; waits until Reversa has recorded it and a few seconds later fixes 6 products by hand (price ending in .77).",
  "ajustes.pruebas.precios.esperado": "Expected: a single “Import” event of 300 products and 600 fields (same ×100), plus 6 loose edits. When undoing the event: 594 fields revert, 6 are kept; “Verified: 594 of 594”; a single alert.",
  "ajustes.pruebas.estado.texto": "Step 1: sets 40 test products to draft. Step 2, once that is recorded: removes them from the Online Store channel.",
  "ajustes.pruebas.estado.esperado": "Expected: two events of 40 products, «Status» and «Sales channels». When undoing each: 40 products go back to active and 40 back to Online Store; «Verified: 40 of 40» on each result.",
  "ajustes.pruebas.imagenes.texto": "Step 1: if the first 10 test products have no image, attaches a sample one (the URL from Shopify's documentation; Shopify re-hosts it on the store's CDN). Step 2: deletes the main image of those 10.",
  "ajustes.pruebas.imagenes.esperado": "Expected: one event of 10 products with “Image … (and its alt text)”. When undoing: the 10 images are re-attached from their original URL and come back with a new id and URL; “Verified: 10 of 10”. If the CDN no longer serves the deleted URL, that image is kept with the reason “the original image is no longer available”.",
  "ajustes.pruebas.variantes.texto": "Step 1: sets the base weight (250 g) on products 21 to 25. Step 2: changes the SKU (suffix -X) and price (×2) of the variants of the first 20 products, and the weight (999 g) of products 21 to 25.",
  "ajustes.pruebas.variantes.esperado": "Expected: one event of 20 products with SKU and price (40 fields) and another of 5 products with weight. When undoing: 40 fields revert variant by variant (“Verified: 40 of 40”) and 5 weights go back to 250 g (“5 of 5”).",
  "ajustes.pruebas.metafields.texto": "Step 1: ensures custom.material = “Algodón” on 25 products and custom.temporada = “Verano 2026” on 5 (created if missing; no definition, typed). Step 2: changes custom.material to “Poliéster” on the 25 and deletes custom.temporada on the 5.",
  "ajustes.pruebas.metafields.esperado": "Expected: 30 metafield fields in one or two events (material changed on 25 products; temporada deleted on 5). When undoing: 25 go back to “Algodón” and 5 are recreated; in total “Verified: 30 of 30”.",
  "ajustes.pruebas.coleccion.texto": "Step 1: creates, if missing, the automated collection “Bolsos de prueba (Reversa)” with the rules tag prueba-reversa and type Bolsos. Step 2: changes its title and rules.",
  "ajustes.pruebas.coleccion.esperado": "Expected: one event on the collection with “Title” and “Collection rules”. When undoing: the title “Bolsos de prueba (Reversa)” and the two rules come back; “Verified: 2 of 2”.",
  "ajustes.pruebas.provocar.boton": "Trigger incident: {recurso}",
  "ajustes.pruebas.restaurar.boton": "Restore: {recurso}",
  "ajustes.pruebas.restaurar.ayuda.recurso": "“Restore” only writes what differs from that resource's base state and is recorded as an event too.",
  "ajustes.pruebas.fase.escribiendo": "Step {paso} of {pasos} · {nombre}: {hechos} of {total}",
  "ajustes.pruebas.paso.preparar": "preparing the base state",
  "ajustes.pruebas.paso.provocar": "triggering the incident",
  "ajustes.pruebas.paso.restaurar": "restoring the base state",
  "ajustes.pruebas.paso.borrador": "setting to draft",
  "ajustes.pruebas.paso.despublicar": "removing from Online Store",
  "ajustes.pruebas.paso.crear_coleccion": "creating the test collection",
  "ajustes.pruebas.masivo": "Use the mode for large catalogs even for a few products",
  "ajustes.pruebas.masivo.ayuda": "Only the next undo in this store: it will be written all at once, in one batch, as if the catalog were large, even with fewer than 250 changes. Turns itself off once used.",
  "ajustes.pruebas.masivo.activado": "The next undo will use the mode for large catalogs.",
  "ajustes.pruebas.masivo.desactivado": "The next undo will take the normal path (the mode for large catalogs is only used from 250 changes).",
  "reversion.fase.escribiendo.masiva": "Writing in a single batch: {hechos} of {recursos}",
  "reversion.masiva.texto": "Written through a bulk operation (stagedUploadsCreate + bulkOperationRunMutation), one batch per mutation. When it finishes, the result is read line by line and anything rejected is retried one at a time.",
  "reversion.masiva.lote": "Batch {lote} of {total} · {mutacion} · {estado} · {objetos} of {lineas} lines",
  "reversion.masiva.estado.en_cola": "queued (waiting for a slot in Shopify)",
  "reversion.masiva.estado.en_marcha": "running in Shopify",
  "reversion.masiva.estado.terminada": "finished; reading the result",
  "reversion.masiva.estado.procesada": "processed",
  "reversion.masiva.estado.fallida": "failed",
  "origen.prueba": "Test restore",
  "motivo.prueba": "done by Reversa's test tool (development stores only)",
  "campo.imagen.anadida": "Image added",
  "campo.imagen.quitada": "Image removed",
  "patron.imagen_quitada": "The image was removed",
  "patron.imagen_anadida": "The image “{alt}” was added",
  "detalle.que_paso.imagenes": "{frase} on {productos}.",
  "detalle.quien.texto.precio": "Shopify does not say who edits a price. Your answer is recorded and helps recognise the same pattern next time.",
  "detalle.quien.texto.imagen": "Shopify does not say who changes an image. Your answer is recorded and helps recognise the same pattern next time.",
  "reversion.recomprobar.titulo": "Check again",
  "reversion.recomprobar.texto": "Re-attached images take a few seconds to process in Shopify. If the check ran too early, read the store again and compare once more; nothing is written.",
  "reversion.recomprobar.accion": "Check again",
  "reversion.fase.recomprobando": "Checking every field again",
  "reversion.errores_imagenes": "Shopify could not process some images:",
  "comun.colecciones": "{n} collections",
  "comun.colecciones.uno": "1 collection",
  "comun.productos_y_colecciones": "{productos} and {colecciones}",
  "existencia.coleccion.creado": "Collection created",
  "existencia.coleccion.creado.titulo": "Collection created: “{titulo}”",
  "existencia.coleccion.creado.varios": "{n} collections created",
  "existencia.coleccion.borrado": "Collection deleted",
  "existencia.coleccion.borrado.titulo": "Collection deleted: “{titulo}”",
  "existencia.coleccion.borrado.varios": "{n} collections deleted",
  "existencia.producto.creado": "Product created",
  "existencia.producto.creado.titulo": "Product created: “{titulo}”",
  "existencia.producto.creado.varios": "{n} products created",
  "existencia.producto.borrado": "Product deleted",
  "existencia.producto.borrado.titulo": "Product deleted: “{titulo}”",
  "existencia.producto.borrado.varios": "{n} products deleted",
  "existencia.variante.creado": "Variant added",
  "existencia.variante.creado.titulo": "Variant added: “{titulo}”",
  "existencia.variante.creado.varios": "{n} variants added",
  "existencia.variante.borrado": "Variant removed",
  "existencia.variante.borrado.titulo": "Variant removed: “{titulo}”",
  "existencia.variante.borrado.varios": "{n} variants removed",
  "existencia.generico.creado": "Created",
  "existencia.generico.borrado": "Deleted",
  "origen.prueba_preparacion": "Test setup",
  "motivo.prueba_preparacion": "Reversa's test tool set up the data before the incident (development stores only)",
  "motivo.patron_comun.valor": "{productos}, same value: {valor}",
  "motivo.patron_comun.valores": "{productos}, same changes: {valor}",
  "motivo.patron_comun.factor": "{productos}, same {factor}",
  "motivo.importacion_csv.valor": "{productos} in {minutos} min, same value: {valor}",
  "nav.ayuda": "Help",
  "bienvenida.titulo": "Get started",
  "bienvenida.subtitulo": "Three steps to get Reversa ready. Each step checks itself off when it's done.",
  "bienvenida.progreso": "{hechos} of {total} done",
  "bienvenida.ocultar": "Hide getting started",
  "bienvenida.completo": "All set. Reversa is now recording the catalog changes Shopify reports.",
  "bienvenida.opcional": "Optional",
  "bienvenida.hecho": "Done",
  "bienvenida.pendiente": "To do",
  "bienvenida.copia.titulo": "Catalog copy finished",
  "bienvenida.copia.texto": "Reversa needs a copy of your products to know how they were before each change. It runs by itself as soon as you choose a plan.",
  "bienvenida.email.titulo": "Who should we alert?",
  "bienvenida.email.texto": "If a change looks like a mistake, such as prices multiplied by 100, we send an alert to these addresses. Send a test alert to check it arrives.",
  "bienvenida.umbrales.titulo": "Choose how sensitive alerts are",
  "bienvenida.umbrales.texto": "The Normal profile is already on. In Protection you can choose Relaxed or Strict, or adjust each rule.",
  "bienvenida.umbrales.accion": "Open Protection",
  "bienvenida.slack.titulo": "Slack connected",
  "bienvenida.slack.texto": "If your team uses Slack, get the same alerts there.",
  "bienvenida.slack.accion": "Connect Slack",
  "bienvenida.prueba.titulo": "Try it out",
  "bienvenida.prueba.texto": "Change a product's price in Shopify and watch it show up in Events after a minute or two. You can undo it from there.",
  "bienvenida.prueba.accion": "Go to Products",
  "bienvenida.prueba.eventos": "View Events",
  "bienvenida.guia.accion": "Open the guide",
  "contexto.boton": "What does this mean?",
  "contexto.ocultar": "Hide the explanation",
  "contexto.tres_vias": "For each field, Reversa compares three values: “Before” (how it was before the event), “After the change” (what the event left) and “Now” (what Shopify has today).",
  "contexto.vuelve": "Goes back: the field is still as the event left it, so it can be returned to “Before”.",
  "contexto.se_respeta": "Left as it is: someone changed it after the event. Reversa doesn't overwrite it and shows it to you so you can review it.",
  "contexto.no_se_toca": "Not touched: inventory isn't restored, and some data can't be written (for example, a variant that no longer exists). The reason is shown in each case.",
  "contexto.origen": "Likely source: Shopify doesn't say who makes each edit. Reversa infers it from the pattern (many products in a few minutes, the same factor…) and says how sure it is. «Confirmed» only appears when Shopify or your team says so.",
  "contexto.no_recuperable": "Anything that can't be recovered is shown before you confirm: for example, images whose file Shopify already deleted and that Reversa had no copy of.",
  "contexto.nada_se_escribe": "Nothing changes in your store until you press the confirm button.",
  "contexto.punto": "Before writing, Reversa saves a restore point with the current state of the products it will touch, so you can put them back as they were while it remains in the history.",
  "contexto.comprobacion": "When it finishes, Reversa reads every field in Shopify again and counts how many ended up as expected (“Checked: 594 of 594”). If any don't match, it shows them to you.",
  "contexto.recomprobar": "“Check again” repeats that reading without writing anything. Use it if Shopify took a while to process something (for example, images).",
  "contexto.deshacer_deshacer": "If you're not happy with the result, press «Put it back the way it was before undoing»: it goes back to the restore point and leaves alone the fields that were changed afterwards.",
  "soporte.boton": "Contact support",
  "soporte.titulo": "Contact support",
  "soporte.intro": "Tell us what's going on in your own words. We'll reply by email.",
  "soporte.tipo": "What is it about?",
  "soporte.tipo.elegir": "Choose an option",
  "soporte.tipo.deshacer": "Undoing a change",
  "soporte.tipo.registro": "A change is missing or looks wrong",
  "soporte.tipo.avisos": "Email or Slack alerts",
  "soporte.tipo.cuenta": "Plan, billing or account",
  "soporte.tipo.otro": "Something else",
  "soporte.mensaje": "Message",
  "soporte.mensaje.ayuda": "What you were trying to do, what you expected and what happened. No need to include customer data.",
  "soporte.email": "Reply-to email",
  "soporte.email.ayuda": "If you leave it empty, we'll reply to your store's contact email.",
  "soporte.email.ayuda.sin_contacto": "We couldn't find your store's contact email: enter one so we can reply.",
  "soporte.contexto.evento": "The event you were viewing will be attached.",
  "soporte.contexto.reversion": "The undo you were viewing will be attached.",
  "soporte.tecnicos.titulo": "What technical details we attach",
  "soporte.tecnicos.texto": "To help you faster we add: your store's .myshopify.com domain, the event or undo and its status, the app and Shopify API versions, and Reversa's latest technical errors in your store, trimmed. We don't add customer or order data.",
  "soporte.enviar": "Send",
  "soporte.enviada.titulo": "Message sent",
  "soporte.enviada.texto": "We'll reply to {email}, usually within {plazo}. Reference: {id}.",
  "soporte.plazo": "{n} business days",
  "soporte.plazo.uno": "1 business day",
  "soporte.fallida.titulo": "We couldn't send it",
  "soporte.fallida.texto": "Your message is saved (reference {id}), but sending failed. Please try again in a few minutes.",
  "soporte.error.tipo": "Choose what it's about.",
  "soporte.error.mensaje_corto": "Write a little more so we can understand the problem (at least {n} characters).",
  "soporte.error.mensaje_largo": "The message is too long (maximum {n} characters).",
  "soporte.error.email": "That email doesn't look valid.",
  "soporte.error.email_falta": "Enter an email so we can reply.",
  "soporte.error.demasiadas": "You've sent several messages in the last hour. Please wait a bit before sending another.",
  "soporte.nuevo": "Send another message",
  "ayuda.titulo": "Help",
  "ayuda.guia.titulo": "Quick guide",
  "ayuda.guia.registra": "Records. Once you choose a plan, Reversa copies your catalog and from then on notes the changes Shopify reports for products, variants, prices, collections, channels, images and metafields.",
  "ayuda.guia.agrupa": "Groups. Changes that arrive together (a CSV import, an app, a manual edit) form one event. You'll see it in Events with its likely source.",
  "ayuda.guia.avisa": "Alerts. If an event looks like a mistake (many products and an extreme price change, a price set to 0…), we send you an alert by email or Slack. What triggers an alert and who gets it is set in Protection.",
  "ayuda.guia.deshace": "Helps you undo. Open the alert and press «Undo this change…»: you'll see what goes back and what we leave as it is because someone changed it later. Nothing changes until you confirm.",
  "ayuda.guia.comprueba": "Checks. After writing, Reversa reads every field in Shopify again and tells you how many ended up right. If something isn't right, you can put it back as it was before the undo.",
  "ayuda.faq.titulo": "Frequently asked questions",
  "ayuda.faq.registra.p": "What does Reversa record, and what not?",
  "ayuda.faq.registra.r": "It records the changes Shopify reports for products, variants, prices, collections, sales channels, images and product metafields. It doesn't record orders, customers, themes or pages. If Shopify is slow to report a change, it will appear when it arrives.",
  "ayuda.faq.inventario.p": "Does Reversa touch inventory?",
  "ayuda.faq.inventario.r": "No. Stock changes are recorded so you can see what happened, but they aren't restored: sales change stock all the time, and going back to an old number could let you sell items you don't have.",
  "ayuda.faq.imagenes.p": "Can it recover deleted images?",
  "ayuda.faq.imagenes.r": "When Shopify deletes an image, it deletes the file too. Reversa keeps its own copy of the images it sees, so it can upload them again if the copy completed and is still within your plan's period. The recovered image will have a new URL. Images deleted before installing Reversa can't be recovered.",
  "ayuda.faq.borrados.p": "Can it recover deleted products?",
  "ayuda.faq.borrados.r": "No. Reversa records the deletion in Events (which product it was and when it was deleted), but doesn't re-create it. If you create it again, Shopify gives it a new ID, so links and integrations may need checking.",
  "ayuda.faq.retencion.p": "How long is the history kept?",
  "ayuda.faq.retencion.r": "It depends on the plan: Starter 90 days, Growth 180 and Pro 365. Your current plan keeps {dias} days. After that, events and their data are deleted and can no longer be undone from Reversa.",
  "ayuda.faq.deshacer.p": "Can I undo an undo?",
  "ayuda.faq.deshacer.r": "Yes, while it remains in the history. Before writing, Reversa saves a restore point. To go back, on the result page press «Put it back the way it was before undoing»; fields that were changed afterwards are left as they are.",
  "ayuda.faq.aviso.p": "I got an alert. What should I do?",
  "ayuda.faq.aviso.1": "Open the link in the alert: it takes you to the undo screen, where you see what would go back. Opening it changes nothing.",
  "ayuda.faq.aviso.2": "Look at the likely source and the example change. If it was intentional, press “Mark as reviewed”.",
  "ayuda.faq.aviso.3": "If it's a mistake, press «Undo this change…», check what goes back and what we leave as it is, and confirm.",
  "ayuda.faq.aviso.4": "Wait for the check to finish and review the result. If something doesn't add up, write to us from that same screen.",
  "ayuda.legal.titulo": "Terms and privacy",
  "ayuda.legal.texto": "They open on the Reversa website.",
  "ayuda.legal.condiciones": "Terms of service",
  "ayuda.legal.privacidad": "App privacy policy",
  "ayuda.legal.centro": "Help center",
  "ayuda.bienvenida.mostrar": "Show getting started on Home",
  "ayuda.bienvenida.texto": "You hid the getting started list on Home. You can show it again at any time.",
  "eventos.vacio.titulo": "No events yet",
  "eventos.vacio.texto": "When something changes in your catalog, it will show up here. For example: if you import a CSV that changes the price of 300 products, you'll see a single “CSV import · 300 products” event, with the before and after of each price and the button to undo it.",
  "eventos.vacio.prueba": "Try it now: change a product's price in Shopify and come back here in a minute or two.",
  "patron.coleccion.reglas": "The collection rules were changed ({reglas})",
  "patron.coleccion.reglas_y_titulo": "The collection rules were changed ({reglas}) and the title to “{titulo}”",
  "regla.columna.tag": "tag",
  "regla.columna.title": "title",
  "regla.columna.type": "type",
  "regla.columna.vendor": "vendor",
  "regla.columna.variant_price": "price",
  "regla.columna.variant_compare_at_price": "compare-at price",
  "regla.columna.variant_weight": "weight",
  "regla.columna.variant_inventory": "inventory",
  "regla.columna.variant_title": "variant title",
  "regla.columna.is_price_reduced": "price reduced",
  "regla.columna.product_metafield_definition": "product metafield",
  "regla.columna.variant_metafield_definition": "variant metafield",
  "regla.columna.product_taxonomy_node_id": "category",
  "regla.columna.product_category_id": "category",
  "regla.relacion.equals": "is equal to",
  "regla.relacion.not_equals": "is not equal to",
  "regla.relacion.contains": "contains",
  "regla.relacion.not_contains": "does not contain",
  "regla.relacion.starts_with": "starts with",
  "regla.relacion.ends_with": "ends with",
  "regla.relacion.greater_than": "is greater than",
  "regla.relacion.less_than": "is less than",
  "regla.relacion.is_set": "is set",
  "regla.relacion.is_not_set": "is not set",
  "regla.columna.status": "status",
  "regla.columna.collection": "collection",
  "regla.relacion.tagged_with": "is",
  "regla.relacion.not_tagged_with": "is not",
  "regla.relacion.does_not_contain": "does not contain",
  "regla.relacion.includes": "includes",
  "regla.excepto": "except",
  "regla.subcolecciones": "products from {n, plural, one {# collection} other {# collections}}",
  "nav.plan": "Plan",
  "plan.titulo": "Plan",
  "plan.intro": "Every plan includes every feature and unlimited users; they differ by number of products and days of history. Shopify bills per store and 30-day period, in US dollars.",
  "plan.actual.titulo": "Your plan",
  "plan.actual.plan": "{plan} plan · {precio} per 30 days",
  "plan.actual.plan_descuento": "{plan} plan · {precioFinal} per 30 days ({descuento}% agency discount on {precio})",
  "plan.estado.desarrollo": "Development store: up to 50,000 products, free. When you choose or change a plan, Shopify shows its approval page with a test charge (nothing is billed).",
  "plan.estado.ok": "Active. Next period: {fecha}.",
  "plan.estado.ok.sin_fecha": "Active.",
  "plan.estado.prueba": "Free trial until {fecha}. After that the plan you approved starts billing, unless you cancel first.",
  "plan.estado.pendiente": "Waiting for the store owner to approve the charge in Shopify. If you already approved it, it can take a moment to show up.",
  "plan.estado.sin_plan.bloqueado": "Reversa is paused: there's no active plan. It doesn't record new changes or send alerts, and Undo isn't available. The history you already have is kept until it expires. Choose a plan to stay protected: Reversa resumes and copies your catalog again. Anything that changes during the pause can't be undone.",
  "plan.estado.congelada": "Shopify has frozen the charge because of a pending payment. Reversa keeps recording for {dias, plural, one {# more day} other {# more days}}; if the payment is still pending, it pauses until Shopify collects it.",
  "plan.estado.limite": "Your store has {productos} products and the {plan} plan covers {limite}. Reversa keeps recording and deletes nothing; “Undo” stays available for {dias, plural, one {# more day} other {# more days}} while you pick a larger plan.",
  "plan.estado.limite.bloqueado": "Your store has {productos} products and the {plan} plan covers {limite}. Reversa keeps recording and deletes nothing, but “Undo” is not available until you choose a plan that covers the catalog.",
  "plan.estado.limite_desarrollo": "Your development store has {productos} products and development stores cover up to {limite}, free. Reversa keeps recording and deletes nothing; “Undo” stays available for {dias, plural, one {# more day} other {# more days}} while the catalog goes back to {limite} products or fewer.",
  "plan.estado.limite_desarrollo.bloqueado": "Your development store has {productos} products and development stores cover up to {limite}, free. Reversa keeps recording and deletes nothing, but “Undo” is not available until the catalog goes back to {limite} products or fewer.",
  "plan.productos": "Products in the store: {productos} · the {plan} plan covers up to {limite}",
  "plan.productos.sin_plan": "Products in the store: {productos} · the smallest plan that covers them is {plan}",
  "plan.productos.sin_contar": "The number of products is known once the catalog copy finishes.",
  "plan.historial": "History: {dias} days",
  "plan.aprobada": "Charge approved. Thank you.",
  "plan.aprobada.esperando": "Shopify is confirming the charge. This page refreshes by itself.",
  "plan.tarjeta.productos": "Up to {limite} products",
  "plan.tarjeta.historial": "{dias} days of history",
  "plan.tarjeta.precio": "{precio} / 30 days",
  "plan.tarjeta.precio_descuento": "{precioFinal} / 30 days (instead of {precio})",
  "plan.tarjeta.actual": "Current plan",
  "plan.tarjeta.pendiente": "Awaiting approval",
  "plan.tarjeta.insuficiente": "Does not cover your {productos} products",
  "plan.elegir": "Choose {plan}",
  "plan.cambiar": "Switch to {plan}",
  "plan.elegir.desarrollo": "Choose {plan} (test charge)",
  "plan.elegir.ayuda": "Shopify will ask you to approve the charge. When upgrading, Shopify prorates the current period; when downgrading, history older than the new plan's period is deleted.",
  "plan.prueba.ayuda": "{dias}-day free trial from when you approve the plan: if you cancel before it ends, you aren't charged. Shopify shows the trial on its approval screen.",
  "plan.error": "The charge could not be created: {error}",
  "plan.error.distribucion": "The charge could not be created: Shopify only lets apps with public distribution use the Billing API. Choose public distribution (App Store) for Reversa in the Partner Dashboard and try again; on development stores the charge will still be a test and nothing will be billed.",
  "plan.error.distribucion.detalle": "Shopify message: {error}",
  "plan.agencia.titulo": "Agency",
  "plan.agencia.texto": "The agency discount comes from the stores connected to the agency panel: from 5 stores connected with Reversa, every store of the agency pays 20% less; from 15, 30% less. The agency panel is free.",
  "plan.agencia.tiendas": "Stores of this agency with Reversa: {tiendas} · discount that applies today: {descuento}%",
  "plan.agencia.acceso_anticipado": "Early-access agency: the first subscription includes a 90-day free trial from approval.",
  "plan.agencia.aplicar": "Apply the {descuento}% discount",
  "plan.agencia.aplicar.ayuda": "Your current subscription has a {actual}% discount and today {descuento}% applies. Shopify does not allow editing an existing subscription, so an identical one with the new discount is created for the store owner to approve; it takes effect from the next period.",
  "plan.cancelar.titulo": "Cancel the plan",
  "plan.cancelar.texto": "You can cancel at any time. If you cancel during the free trial, you aren't charged. After that, Shopify credits your invoice with the proportional part of the full days left in the period; if you would rather have a refund than a credit, write to us. When you cancel, Reversa pauses: it doesn't record new changes or let you undo, and keeps the history until it expires.",
  "plan.cancelar.boton": "Cancel the plan",
  "plan.cancelar.confirmar": "Yes, cancel the plan",
  "plan.cancelar.volver": "No, keep the plan",
  "plan.cancelar.hecho": "Plan cancelled. Reversa is now paused. If there was a charge, Shopify will credit the unused days on your invoice.",
  "plan.devoluciones.titulo": "Refunds",
  "plan.devoluciones.texto": "If you cancel, we refund the part of the last charge that corresponds to the full days left in the period. If Reversa is not for you, we refund the last charge in full if you ask within 30 days (once per store and year). Refunds are issued through Shopify.",
  "plan.devoluciones.pedir": "Request a refund",
  "plan.prueba_cobro.titulo": "Skip Shopify's page (development only)",
  "plan.prueba_cobro.texto": "To test faster: use the plan without creating any charge or seeing Shopify's approval page. Only in development stores.",
  "plan.prueba_cobro.boton": "Use {plan} without a charge",
  "plan.ir": "See the plans",
  "inicio.acceso.sin_plan.titulo": "Choose a plan to stay protected",
  "inicio.acceso.limite.titulo": "Your catalog exceeds the {plan} plan",
  "inicio.acceso.limite_desarrollo.titulo": "Your development store has more than {limite} products",
  "inicio.acceso.congelada.titulo": "Payment pending in Shopify",
  "detalle.bloqueado": "“Undo” is not available: {motivo}",
  "plan.agencia.conectada": "Connected to the agency {agencia}",
  "plan.agencia.sin_conectar": "This store is not connected to any agency.",
  "plan.agencia.ir_ajustes": "Invite or revoke your agency (Settings › Your agency)",
  "ajustes.agencia.titulo": "Your agency",
  "ajustes.agencia.texto": "If an agency maintains this store, it can see the events and undo from its Reversa panel, without entering your Shopify, using the permission you gave when installing. You decide: you invite it here and can revoke access at any time.",
  "ajustes.agencia.email": "Agency email (optional)",
  "ajustes.agencia.email.ayuda": "We send them the code and the link to the panel. Leave it empty to just generate the code and pass it on yourself.",
  "ajustes.agencia.generar": "Generate invitation code",
  "ajustes.agencia.invitar": "Send invitation by email",
  "ajustes.agencia.generado": "Invitation created. The agency enters this code in its panel (Add a client store).",
  "ajustes.agencia.email_invalido": "Enter a valid email address.",
  "ajustes.agencia.pendientes": "Pending invitations",
  "ajustes.agencia.caduca": "expires {momento}",
  "ajustes.agencia.enviada_a": "sent by email",
  "ajustes.agencia.cancelar": "Cancel",
  "ajustes.agencia.conectadas": "Agencies with access",
  "ajustes.agencia.ninguna": "No agency has access to this store.",
  "ajustes.agencia.desde": "access granted {momento}",
  "ajustes.agencia.revocar": "Revoke access",
  "ajustes.agencia.revocada": "Access revoked. The agency no longer sees this store; what it did stays on record.",
  "ajustes.agencia.revocada_en": "access revoked {momento}",
  "ajustes.agencia.descuento": "Stores of this agency with Reversa: {tiendas} · discount that applies today: {descuento}%",
  "agencia.marca.sub": "Agency panel",
  "agencia.nav.titulo": "Menu",
  "agencia.nav.tiendas": "Stores",
  "agencia.nav.equipo": "Team",
  "agencia.nav.auditoria": "Activity log",
  "agencia.nav.ajustes": "Settings",
  "agencia.nav.anadir": "Add a client store",
  "agencia.nav.salir": "Sign out",
  "agencia.nav.idioma": "Change language",
  "agencia.nav.tema.claro": "Switch to light mode",
  "agencia.nav.tema.oscuro": "Switch to dark mode",
  "agencia.nav.abrir_menu": "Open menu",
  "agencia.nav.cerrar_menu": "Close menu",
  "agencia.migas.titulo": "Breadcrumb",
  "agencia.migas.deshacer": "Undo",
  "agencia.nav.cambiar_agencia": "Switch agency",
  "agencia.migas.panel": "Dashboard",
  "agencia.migas.tienda": "Store",
  "agencia.rol.lector": "View only",
  "agencia.rol.operador": "Can also undo",
  "agencia.rol.administrador": "Administrator",
  "agencia.permiso.solo_lectura": "Your agency role is «View only»: you can see the event but not undo it. Ask someone with «Can also undo» or «Administrator».",
  "agencia.entrar.titulo": "Sign in to the panel",
  "agencia.entrar.texto": "No password: enter your email and we send you a single-use link, valid for 15 minutes.",
  "agencia.entrar.email": "Email",
  "agencia.entrar.boton": "Send me the link",
  "agencia.entrar.con_codigo": "You bring the invitation code {codigo}: the store will be connected when you sign in.",
  "agencia.entrar.enviado.titulo": "Check your inbox",
  "agencia.entrar.enviado.texto": "If that address has access, we have sent it a sign-in link. It expires in 15 minutes and works only once.",
  "agencia.entrar.enviado.crear": "We have sent you a link to create your agency. It expires in 15 minutes and works only once.",
  "agencia.entrar.enviado.ayuda": "Nothing there? Check the spam folder or ask again in a few minutes.",
  "agencia.entrar.error.email": "Enter a valid email address.",
  "agencia.entrar.error.nombre": "Enter the agency name (at least 2 characters).",
  "agencia.entrar.crear.titulo": "No agency yet? Create one",
  "agencia.entrar.crear.texto": "The panel is free. Then you connect your clients' stores with the code each store generates in Reversa.",
  "agencia.entrar.crear.nombre": "Agency name",
  "agencia.entrar.crear.boton": "Create the agency",
  "agencia.entrar.pie": "Your email is the only personal data we keep.",
  "agencia.acceso.titulo": "One moment",
  "agencia.acceso.texto": "Press to sign in. The link works only once.",
  "agencia.acceso.boton": "Sign in",
  "agencia.acceso.rechazado.titulo": "This link no longer works",
  "agencia.acceso.rechazado.invalido": "The link is not valid. Ask for another one.",
  "agencia.acceso.rechazado.caducado": "The link has expired (it lasts 15 minutes). Ask for another one.",
  "agencia.acceso.rechazado.usado": "The link was already used. If it wasn't you, ask for another one and sign in.",
  "agencia.acceso.pedir_otro": "Ask for another link",
  "agencia.bienvenida.titulo": "Welcome to Reversa",
  "agencia.bienvenida.texto": "You signed in as {email}, but you don't belong to any agency yet. Create yours or ask an administrator to invite you.",
  "agencia.bienvenida.crear": "Create my agency",
  "agencia.bienvenida.ayuda": "If you were invited, the invitation is accepted automatically when you sign in with that email.",
  "agencia.tiendas.titulo": "Your clients' stores",
  "agencia.tiendas.subtitulo": "The catalog changes Shopify reports for every store connected to {agencia}, and the undo from here.",
  "agencia.tarjeta.tiendas": "Stores monitored",
  "agencia.tarjeta.tiendas.pie": "{n} with the catalog copy finished",
  "agencia.tarjeta.alertas": "Alerts to review",
  "agencia.tarjeta.alertas.pie": "First one: {tienda}",
  "agencia.tarjeta.alertas.ninguna": "Nothing pending",
  "agencia.tarjeta.abiertos": "Events in progress",
  "agencia.tarjeta.abiertos.pie": "Still receiving changes (10-minute window)",
  "agencia.tarjeta.productos": "Products monitored",
  "agencia.tarjeta.productos.pie": "Total across your clients' catalogs",
  "agencia.tiendas.lista": "Connected stores",
  "agencia.tiendas.orden": "Needs attention first",
  "agencia.tiendas.vacio": "No stores connected yet",
  "agencia.tiendas.vacio.texto": "Ask your client to generate a code in Reversa (Settings › Your agency) and add it with “Add a client store”.",
  "agencia.col.tienda": "Store",
  "agencia.col.estado": "Status",
  "agencia.col.ultimo": "Last event",
  "agencia.col.alertas": "Alerts",
  "agencia.col.productos": "Products",
  "agencia.col.plan": "Plan",
  "agencia.tiendas.copia.terminada": "Up to date",
  "agencia.tiendas.copia.en_curso": "Preparing the copy",
  "agencia.tiendas.copia.fallida": "Copy failed",
  "agencia.tiendas.copia.ninguna": "No copy",
  "agencia.tiendas.estado.alerta": "Alert",
  "agencia.tiendas.desinstalada": "Reversa uninstalled",
  "agencia.tiendas.ultimo.productos": "{n, plural, one {# product} other {# products}}",
  "agencia.tiendas.sin_eventos": "No events yet",
  "agencia.tiendas.alertas.una": "1 alert",
  "agencia.tiendas.alertas.varias": "{n} alerts",
  "agencia.tiendas.revisar": "Review",
  "agencia.tiendas.abrir": "Open",
  "agencia.anadir.hecho": "Store connected. It is now in the list; if it is still preparing its copy, events will arrive when it finishes.",
  "agencia.tienda.vigilados": "{n, plural, one {# product monitored} other {# products monitored}}",
  "agencia.tienda.ultimo_cambio": "last change {momento}",
  "agencia.tienda.plan.titulo": "Store plan",
  "agencia.tienda.plan.bloqueado": "The store cannot undo right now because of its plan, so neither can the agency. The store owner sorts it out from Plan in their Reversa.",
  "agencia.tienda.alerta.titulo": "Alert to review",
  "agencia.tienda.alerta.texto": "Alert on {productos} ({momento}), neither undone nor reviewed.",
  "agencia.filtro.tipo": "Type",
  "agencia.filtro.estado": "Status",
  "agencia.eventos.vacio": "No events",
  "agencia.eventos.vacio.texto": "When something changes in this store's catalog it will show up here.",
  "agencia.deshacer.atribucion": "The undo will be recorded under your agency's name and your email, also in the store's Reversa.",
  "agencia.reversion.por": "started by {quien}",
  "agencia.equipo.titulo": "Team",
  "agencia.equipo.subtitulo": "Who signs in to your agency's panel and what they can do. Unlimited users, at no cost.",
  "agencia.equipo.miembros": "Members",
  "agencia.equipo.col.email": "Email",
  "agencia.equipo.col.rol": "Role",
  "agencia.equipo.col.ultimo_acceso": "Last sign-in",
  "agencia.equipo.tu": "you",
  "agencia.equipo.nunca": "Never",
  "agencia.equipo.quitar": "Remove",
  "agencia.equipo.invitaciones": "Invitations",
  "agencia.equipo.invitaciones.texto": "They are accepted automatically when the person signs in to the panel with that email. They expire after 7 days.",
  "agencia.equipo.sin_invitaciones": "No pending invitations.",
  "agencia.equipo.caduca": "expires",
  "agencia.equipo.cancelar": "Cancel",
  "agencia.equipo.invitar": "Invite",
  "agencia.equipo.invitado": "Invitation sent.",
  "agencia.equipo.roles.ayuda": "View only: sees stores, events and the log. Can also undo: additionally undoes changes, marks events as reviewed and answers «who did it?». Administrator: additionally connects and disconnects stores and manages the team.",
  "agencia.error.email_invalido": "Enter a valid email address.",
  "agencia.error.ya_es_miembro": "That person is already a member of the agency.",
  "agencia.error.no_existe": "It does not exist.",
  "agencia.error.ultimo_administrador": "This is the only administrator: appoint another one before removing them or changing their role.",
  "agencia.error.codigo_invalido": "That code does not exist or the store cancelled it. Check the 8 letters and digits.",
  "agencia.error.codigo_usado": "That code was already used. Ask the store to generate another one.",
  "agencia.error.codigo_caducado": "That code has expired (it lasts 7 days). Ask the store to generate another one.",
  "agencia.error.nombre_invalido": "Enter the agency name (at least 2 characters).",
  "agencia.error.limite_invitaciones": "You've sent a lot of invitations today. Try again tomorrow, or contact us if you need to.",
  "agencia.auditoria.titulo": "Activity log",
  "agencia.auditoria.subtitulo": "Who in your agency did what in which store. Kept for one year.",
  "agencia.auditoria.col.quien": "Who",
  "agencia.auditoria.col.que": "What",
  "agencia.auditoria.la_tienda": "The store",
  "agencia.auditoria.vacio": "No activity recorded yet.",
  "agencia.auditoria.ver_evento": "See the event",
  "agencia.auditoria.quitar_filtro": "Clear the filter ({tienda})",
  "agencia.accion.entrar": "Signed in to the panel",
  "agencia.accion.salir": "Signed out of the panel",
  "agencia.accion.crear_agencia": "Created the agency",
  "agencia.accion.conectar_tienda": "Connected the store",
  "agencia.accion.desconectar_tienda": "Removed access to the store",
  "agencia.accion.deshacer": "Undid an event",
  "agencia.accion.deshacer_reversion": "Reversed an undo",
  "agencia.accion.recomprobar": "Re-checked an undo",
  "agencia.accion.marcar_revisado": "Marked an event as reviewed",
  "agencia.accion.confirmar_autoria": "Answered “who did it?”",
  "agencia.accion.invitar_miembro": "Invited a person",
  "agencia.accion.cancelar_invitacion": "Cancelled an invitation",
  "agencia.accion.cambiar_rol": "Changed a member's role",
  "agencia.accion.quitar_miembro": "Removed a member",
  "agencia.accion.cambiar_ajustes": "Changed the agency settings",
  "agencia.accion.cambiar_riesgo": "Changed the guardrail profile",
  "agencia.ajustes.titulo": "Agency settings",
  "agencia.ajustes.subtitulo": "Name, ID, language and alerts. Light or dark theme is changed from the header.",
  "agencia.ajustes.datos": "Details",
  "agencia.ajustes.codigo": "Agency ID",
  "agencia.ajustes.codigo.ayuda": "Stores don't need it: they connect with the code each store generates. It identifies your agency, for example when you contact support.",
  "agencia.ajustes.privacidad": "Privacy",
  "agencia.ajustes.privacidad.texto": "Of the team we only keep the email. Every action in a client's store goes in the activity log under the agency and the email, and the store sees who started each undo. If a store revokes access, you stop seeing its data immediately.",
  "agencia.anadir.titulo": "Add a client store",
  "agencia.anadir.subtitulo": "The store is in charge: it generates the code in its Reversa and it can revoke access.",
  "agencia.anadir.paso1": "Your client opens Reversa in their Shopify: Settings › Your agency.",
  "agencia.anadir.paso2": "They press “Generate invitation code” (or email it to you from there).",
  "agencia.anadir.paso3": "Enter the code here. It is valid for 7 days and only once.",
  "agencia.anadir.codigo": "Invitation code",
  "agencia.anadir.boton": "Connect the store",
  "agencia.anadir.ayuda": "Once connected, your agency sees its events and can undo with the permission the store gave when installing Reversa. Every action is recorded.",
  "agencia.email.entrar.asunto": "Your link to sign in to the Reversa panel",
  "agencia.email.entrar.texto": "Press the link to sign in to the Reversa agency panel. It is valid for {minutos} minutes and only once. If you did not ask for it, ignore this message.",
  "agencia.email.crear.asunto": "Create your agency in Reversa",
  "agencia.email.crear.texto": "Press the link to create your agency and sign in to the panel. It is valid for {minutos} minutes and only once. If you did not ask for it, ignore this message.",
  "agencia.email.invitacion.asunto": "{agencia} invites you to its Reversa panel",
  "agencia.email.invitacion.texto": "{agencia} has invited you to its agency panel in Reversa with the role “{rol}”. Sign in with this email within the next {dias} days and the invitation will be accepted automatically:",
  "agencia.email.tienda.asunto": "{tienda} gives you access to its Reversa",
  "agencia.email.tienda.texto": "The store {tienda} wants your agency to see its events and be able to undo from the Reversa panel. Invitation code: {codigo} (valid for {dias} days). Sign in or create your agency with the link and the code is redeemed automatically:",
  "agencia.email.pie": "Reversa · agency panel. Your email is the only personal data we keep.",
  "agencia.simulada.insignia": "simulated",
  "agencia.simulada.aviso": "Store simulated by the development seed: its events are examples and there is no Shopify behind it. Everything can be viewed, but nothing undone or written.",
  "agencia.tarjeta.descuento": "Agency discount",
  "agencia.tarjeta.descuento.pie": "With {n} stores: −20% per store. From 15: −30%",
  "agencia.tarjeta.descuento.ninguno": "From 5 stores: −20% per store. From 15: −30%",
  "motivo.reversa.por": "undone by {quien}",
  "motivo.reversa.tienda": "undone from the store admin",
  "deshacer.operaciones.masivo": "It will be written in one batch, using the mode for large catalogs (instead of {operaciones} one by one).",
  "comun.detalles_tecnicos": "Technical details (for support)",
  "reversion.lanzada_por": "Started by {quien}",
  "reversion.lanzada_por_agencia": "Started by your agency from its dashboard",
  "reversion.lanzada_tienda": "Started from the store admin",
  "reversion.masiva.resumen.uno": "Written in a single batch: {objetos} of {lineas} products.",
  "reversion.masiva.resumen": "Written in {lotes} batches, one per kind of change: {objetos} of {lineas} writes.",
  "reversion.masiva.en_curso": "Writing with the mode for large catalogs: {objetos} of {lineas} done.",
  "eventos.prueba": "Test",
  "estado.en_curso": "Possible incident (in progress)",
  "detalle.en_curso": "Possible incident in progress: changes to {productos} and the event is still open",
  "agencia.tienda.en_curso.texto": "It started {momento} and is still receiving changes. The alert is decided when the 10-minute window closes, but you can review it now.",
  "inicio.alerta.otras": "{n, plural, one {There's # more alert to review.} other {There are # more alerts to review.}}",
  "plan.texto.desarrollo_con": "{plan} (development store: up to 50,000 products, free)",
  "plan.texto.desarrollo_cancelado": "Cancelled (development store: free)",
  "plan.texto.prueba": "{plan} · on trial",
  "plan.texto.cancelado": "Cancelled",
  "plan.etiqueta.desarrollo": "development · up to 50,000 products, free",
  "plan.texto.pendiente": "Waiting for approval",
  "plan.texto.sin_plan": "No plan",
  "plan.texto.congelada": "Payment pending",
  "plan.texto.limite": "{plan} · over the limit",
  "plan.texto.limite_desarrollo": "{plan} · over the development store limit (50,000 products)",
  "agencia.tiendas.alertas.desde.una": "{antiguedad}",
  "agencia.tiendas.alertas.desde": "oldest {antiguedad}",
  "agencia.tarjeta.descuento.pie.max": "With {n} stores: −30% per store (the maximum)",
  "agencia.accion.cerrar_evento": "Closed an open event",
  "agencia.accion.deshacer.detalle": "Undid {evento} from {momento} · {campos}",
  "agencia.accion.deshacer_reversion.detalle": "Undid {evento} from {momento} · {campos}",
  "agencia.accion.marcar_revisado.detalle": "Marked {evento} from {momento} as reviewed",
  "agencia.accion.cerrar_evento.detalle": "Closed {evento} from {momento}",
  "agencia.evento.importacion": "the import",
  "agencia.evento.edicion": "the edit",
  "agencia.evento.reversion": "the undo",
  "plan.texto.desarrollo": "No plan (development store, free)",
  "detalle.que_paso.cambio": "What changed: {firma}.",
  "inicio.alerta.titulo.importacion": "An import changed the price of {productos}",
  "inicio.alerta.titulo.generico": "{campos} changed across {productos} at once",
  "inicio.alerta.texto.llano": "{momento} ({antiguedad}). {patron}.",
  "inicio.alerta.deshacer": "Undo this change…",
  "inicio.alerta.ver": "See what changed",
  "inicio.alerta.en_curso.titulo": "Changes are still arriving for {productos}",
  "inicio.alerta.en_curso.texto": "We're waiting for it to finish so you can undo it in one go. This page updates by itself.",
  "inicio.alerta.en_curso.ver": "See what is changing",
  "confirmar.titulo": "Undo {tipo} {momento}",
  "confirmar.miga": "Events",
  "confirmar.vuelven": "{campos} in {productos} will go back to their previous value.",
  "confirmar.vuelven.uno": "1 field in {productos} will go back to its previous value.",
  "confirmar.respetan": "We'll leave {campos} that were changed afterwards as they are.",
  "confirmar.respetan.uno": "We'll leave 1 field that was changed afterwards as it is.",
  "confirmar.respetan.ninguno": "Nothing was changed afterwards.",
  "confirmar.inventario": "We don't touch inventory.",
  "confirmar.red": "First we save a restore point, and when we finish we check every field. If you change your mind, you can put things back the way they are now.",
  "confirmar.ejemplo": "Example: {producto} · {campo}: {despues} → {antes}",
  "confirmar.detalles": "Show details",
  "confirmar.detalles.ocultar": "Hide details",
  "confirmar.detalles.texto": "Which fields go back, which are left as they are and why, and what we don't touch.",
  "confirmar.boton": "Undo {campos}",
  "confirmar.cancelar": "Cancel",
  "confirmar.calculando.titulo": "Working out what will be undone in {productos}…",
  "confirmar.calculando.texto": "We compare every field with its value before and its value now. For very large events this takes a few seconds; this page will update on its own.",
  "confirmar.recalculando": "Updating the calculation with the latest changes…",
  "detalle.calculando": "Working out the fields of {productos}… This page will update on its own.",
  "confirmar.revisado": "Not a mistake: mark as reviewed",
  "confirmar.cambiado": "Something changed since you opened this page: {campos} will now go back and we'll leave {respetan}. Check and confirm again.",
  "confirmar.ya_deshecho": "This change was already undone {momento}{quien}.",
  "confirmar.ya_deshecho.corto": "This change was already undone.",
  "confirmar.en_marcha": "This change is already being undone. Taking you to the progress.",
  "confirmar.ver_progreso": "View the progress",
  "confirmar.otra_en_marcha": "Another undo is running in this store on some of these products. Wait for it to finish; this page updates by itself.",
  "confirmar.siguen_llegando": "Changes are still arriving for these products (the last one {segundos} s ago). If the import is still running, it could change them again afterwards.",
  "confirmar.no_existe": "We couldn't find this change. It may be older than your plan's history ({dias} days).",
  "confirmar.abierto.titulo": "Changes are still arriving for {productos}",
  "confirmar.abierto.texto": "We're waiting for it to finish so you can undo it in one go. This page updates by itself and the button will appear once the event closes.",
  "confirmar.nada": "There is nothing to undo: these fields already have their previous value or can't be restored. Shopify won't be touched.",
  "confirmar.permiso": "Your agency role is «View only»: you can see it but not undo. Ask someone with «Can also undo» or «Administrator».",
  "confirmar.simulacion": "Simulation: writing to Shopify isn't connected yet. When you confirm you'll see the result calculated with the sample data; nothing changes in the store.",
  "detalle.ver_detalles": "Show details",
  "detalle.ocultar_detalles": "Hide details",
  "detalle.como_deducido": "How we worked it out",
  "detalle.correccion_de": "This correction is part of {tipo} {momento}. When that one is undone, we'll leave this as it is.",
  "detalle.correccion_de.ver": "View the incident",
  "detalle.corregidos.titulo": "Corrected afterwards",
  "detalle.corregidos.texto": "Later changes to this incident that only touch its fields. When the incident is undone, they are left as they are.",
  "detalle.no_deshacer.abierto": "You'll be able to undo it once the event closes.",
  "eventos.corregidos": "{n} corrected afterwards",
  "eventos.corregidos.uno": "1 corrected afterwards",
  "eventos.filtro.sueltas": "Show individual corrections",
  "eventos.correccion": "Later correction",
  "reversion.titulo.hecha.uno": "Done: 1 field is back to its previous value",
  "reversion.titulo.casi": "Almost done: {correctos} of {total} fields match",
  "reversion.fase.comprobada.casi": "We checked every field in Shopify: {correctos} of {total} match. The rest are explained below.",
  "reversion.ver_productos": "View the products in Shopify",
  "reversion.deshacer.confirmar": "Yes, put it back",
  "reversion.deshacer.cancelar": "Cancel",
  "reversion.progreso.punto": "Saving the restore point",
  "reversion.fallida.despues": "What was already written stays as it is; if needed, you can put it back the way it was using the restore point.",
  "nav.proteccion": "Protection",
  "riesgo.nombre": "Guardrails",
  "riesgo.no_bloquea": "Reversa alerts you as soon as it sees the change; it can't stop Shopify from applying it.",
  "riesgo.nivel.urgente": "Urgent",
  "riesgo.nivel.aviso": "Warning",
  "riesgo.perfil.tranquilo": "Relaxed",
  "riesgo.perfil.normal": "Normal",
  "riesgo.perfil.estricto": "Strict",
  "riesgo.perfil.personalizado": "Custom",
  "riesgo.perfil.tranquilo.texto": "For stores that change a lot on purpose (frequent sales, supplier feeds): we alert at twice as many products and skip steep discounts and changed URLs.",
  "riesgo.perfil.normal.texto": "For most stores: we alert you right away if 20 or more products go to draft, 10 leave a channel or lose images, or several prices drop to 0.",
  "riesgo.perfil.estricto.texto": "For stable catalogs or sensitive clients: we alert at half as many products.",
  "riesgo.perfil.personalizado.texto": "You changed a number under “Customize”.",
  "riesgo.perfil.titulo": "Profile",
  "riesgo.personalizar": "Customize ({n} rules)",
  "riesgo.personalizar.ocultar": "Hide the rules",
  "riesgo.personalizar.texto": "Each rule looks at all the changes in an event at once (a 3,000-row import gives a single alert). It fires at the number of products you set, or sooner if it goes over 50 or 5% of your catalog.",
  "riesgo.regla.activa": "On",
  "riesgo.regla.desde": "From (products)",
  "riesgo.regla.urgente_desde": "Becomes urgent from (products)",
  "riesgo.regla.nivel": "Level",
  "riesgo.regla.solo_aviso": "Warning only: it would get in the way during real sales.",
  "riesgo.volver_perfil": "Back to the Normal profile",
  "riesgo.resumen_diario": "Daily email digest of non-urgent warnings",
  "riesgo.resumen_diario.texto": "Every morning, an email with the previous day's alerts that weren't urgent. Urgent ones arrive right away by email and Slack (above, «Who we alert»).",
  "riesgo.guardado": "Alerts saved.",
  "riesgo.guardar": "Save",
  "riesgo.descartar": "Discard",
  "riesgo.umbral_efectivo": "In your store ({catalogo}) it fires at {n}.",
  "riesgo.coste.sin_datos": "No data: none of your products has a cost per item in Shopify, so this rule doesn't alert. It's set on each product, under “Cost per item”.",
  "riesgo.coste.parcial": "Watching {con} of {total} products (the ones with a cost per item).",
  "riesgo.coste.todos": "{total, plural, one {Watching the only product (it has a cost per item).} other {Watching all # products (they all have a cost per item).}}",
  "riesgo.coste.leyendo": "Costs are read when the catalog is copied and whenever they change in Shopify; products copied before this version are filled in when they're read again.",
  "riesgo.regla.precio_cero.nombre": "Price 0",
  "riesgo.regla.precio_cero.titulo": "{productos} with the price set to 0",
  "riesgo.regla.precio_cero.cuando": "prices dropping to 0",
  "riesgo.regla.factor_extremo.nombre": "Price ×10 or ÷10",
  "riesgo.regla.factor_extremo.titulo": "{productos} with the price multiplied or divided by 10 or more",
  "riesgo.regla.factor_extremo.cuando": "prices multiplied or divided by 10 or more at once",
  "riesgo.regla.bajo_coste.nombre": "Below cost",
  "riesgo.regla.bajo_coste.titulo": "{productos} priced below cost",
  "riesgo.regla.bajo_coste.cuando": "new prices below the cost per item",
  "riesgo.regla.rebaja_fuerte.nombre": "Steep discount",
  "riesgo.regla.rebaja_fuerte.titulo": "{productos} discounted by half or more",
  "riesgo.regla.rebaja_fuerte.cuando": "prices dropping by half or more",
  "riesgo.regla.comparacion_menor.nombre": "Compare-at below price",
  "riesgo.regla.comparacion_menor.titulo": "{productos} with the compare-at price below the price",
  "riesgo.regla.comparacion_menor.cuando": "compare-at prices ending up below the price",
  "riesgo.regla.a_borrador.nombre": "To draft",
  "riesgo.regla.a_borrador.titulo": "{productos} moved to draft or archived",
  "riesgo.regla.a_borrador.cuando": "active products moving to draft or archived",
  "riesgo.regla.a_borrador.consecuencia": "They no longer show in your online store.",
  "riesgo.regla.fuera_de_canal.nombre": "Off a channel",
  "riesgo.regla.fuera_de_canal.titulo": "{productos} removed from a sales channel",
  "riesgo.regla.fuera_de_canal.cuando": "products removed from a sales channel",
  "riesgo.regla.fuera_de_canal.consecuencia": "They're no longer sold on that channel.",
  "riesgo.regla.imagenes_quitadas.nombre": "Images removed",
  "riesgo.regla.imagenes_quitadas.titulo": "{productos} lost images",
  "riesgo.regla.imagenes_quitadas.cuando": "products losing images",
  "riesgo.regla.productos_borrados.nombre": "Products deleted",
  "riesgo.regla.productos_borrados.titulo": "{productos} deleted",
  "riesgo.regla.productos_borrados.cuando": "deleted products",
  "riesgo.regla.productos_borrados.consecuencia": "If they're created again, they'll have a different URL.",
  "riesgo.regla.variantes_borradas.nombre": "Variants deleted",
  "riesgo.regla.variantes_borradas.titulo": "{productos} lost variants",
  "riesgo.regla.variantes_borradas.cuando": "products losing variants (typical of an incomplete CSV)",
  "riesgo.regla.handles_cambiados.nombre": "URLs changed",
  "riesgo.regla.handles_cambiados.titulo": "{productos} with a changed URL (handle)",
  "riesgo.regla.handles_cambiados.cuando": "changed URLs (handles)",
  "riesgo.regla.handles_cambiados.consecuencia": "Old links may break if Shopify didn't create the redirect.",
  "riesgo.salta": "Fires at {n} or more: {cuando}.",
  "riesgo.aviso.disparadas": "Triggered: {reglas}.",
  "riesgo.aviso.por_que": "This alert fires at {umbral} or more: {cuando}.",
  "riesgo.aviso.cambiar": "Change the alerts: Reversa → Protection → Alerts.",
  "riesgo.aviso.siguen": "Changes are still coming in. Once they stop for a minute, you can undo what has arrived.",
  "riesgo.resumen.asunto": "{tienda}: {n} guardrail warnings from yesterday",
  "riesgo.resumen.asunto.uno": "{tienda}: 1 guardrail warning from yesterday",
  "riesgo.resumen.intro": "Warnings that weren't urgent, from the last 24 hours:",
  "riesgo.resumen.linea": "• {momento} · {titulo}: {enlace}",
  "riesgo.resumen.pie": "Turn off this digest: Reversa → Protection → Alerts → “Daily digest”.",
  "riesgo.detalle.frase": "{n} guardrail fired: {reglas}.",
  "riesgo.detalle.frase.varios": "{n} guardrails fired: {reglas}.",
  "riesgo.detalle.donde": "Change them in Protection → Alerts.",
  "riesgo.detalle.muestra": "Some products: {lista}",
  "riesgo.mas": "+{n}",
  "riesgo.banner.en_curso.texto": "{momento}. {consecuencia}Changes are still coming in: once they stop you can undo it all.",
  "riesgo.banner.ver": "See what's changing",
  "proteccion.titulo": "Protection",
  "proteccion.subtitulo": "What Reversa watches in {tienda}, with today's data.",
  "proteccion.estado.titulo": "Status",
  "proteccion.estado.vigilando": "Watching since {fecha}",
  "proteccion.estado.copia_en_curso": "Copying the catalog: {hechos} of {total} products",
  "proteccion.estado.sin_copia": "The catalog hasn't been copied yet",
  "proteccion.estado.revision": "Last catalog check: {momento}",
  "proteccion.estado.revision.detalle": "{productos} and {colecciones} compared with Shopify.",
  "proteccion.estado.revision.todo": "Everything matched.",
  "proteccion.estado.revision.encontrados": "It found {n, plural, one {# change we hadn't received; it's in the history now} other {# changes we hadn't received; they're in the history now}}.",
  "proteccion.estado.revision.ninguna": "No catalog check has run yet (one runs every night).",
  "proteccion.estado.revision.fallida": "The last catalog check failed ({momento}); it retries by itself in an hour.",
  "proteccion.estado.revision.en_curso": "Checking the catalog right now.",
  "proteccion.estado.historial": "History: {dias} days ({plan} plan)",
  "proteccion.estado.imagenes": "Images with our own copy in Reversa: {hechas} of {total}. With that copy we can put an image back even if it's deleted from Shopify.",
  "proteccion.estado.imagenes.cola": "Images with our own copy in Reversa: {hechas} of {total} ({pendientes} queued). With that copy we can put an image back even if it's deleted from Shopify.",
  "proteccion.deshacer.titulo": "What can be undone",
  "proteccion.deshacer.precios": "Prices and compare-at prices",
  "proteccion.deshacer.textos": "Title, description, vendor, type, tags and URL (handle)",
  "proteccion.deshacer.variantes": "Variants: SKU, barcode, weight and options",
  "proteccion.deshacer.estado": "Status and sales channels",
  "proteccion.deshacer.metafields": "Product metafields (other apps' ones: see below)",
  "proteccion.deshacer.metafields_variante": "Variant metafields: Shopify doesn't notify apps when they change, so we find them in the nightly review (up to a day later, with the review's time)",
  "proteccion.deshacer.imagenes": "Images (with our own copy)",
  "proteccion.deshacer.colecciones": "Automated collections: title, description and rules",
  "proteccion.registra.titulo": "What is only recorded",
  "proteccion.registra.inventario": "Inventory: we see it change, we don't undo it",
  "proteccion.registra.metafields_apps": "Other apps' metafields: only that app can write them",
  "proteccion.registra.manuales": "Products in manual collections",
  "proteccion.registra.borrados": "Deleted products: recorded; Reversa doesn't re-create them",
  "proteccion.no_cubre.titulo": "What Reversa doesn't cover",
  "proteccion.no_cubre.pedidos": "Orders and customers",
  "proteccion.no_cubre.tema": "Theme, pages, menus and redirects",
  "proteccion.no_cubre.videos": "Videos and 3D models (images only)",
  "proteccion.como.titulo": "How we check",
  "proteccion.como.texto": "Shopify tells us about each change within seconds. In case a notification gets lost (for example, if our service was down), every night we compare your catalog with Shopify and recover what's missing.",
  "proteccion.como.limite": "Limit: a change that Shopify doesn't stamp with a new date and whose notification was lost may not show up in that check.",
  "inicio.proteccion.linea": "Last catalog check: {momento}",
  "inicio.proteccion.ver": "See protection",
  "agencia.riesgo.titulo": "Guardrails",
  "agencia.riesgo.texto": "This store's alert profile. Only the agency administrator can change it; it goes into the audit log.",
  "agencia.riesgo.perfil_actual": "Current profile: {perfil}",
  "agencia.riesgo.cambiar": "Change the profile",
  "agencia.riesgo.guardado": "Alert profile changed.",
  "agencia.riesgo.solo_admin": "Only the agency administrator can change the profile.",
  "agencia.riesgo.defecto.titulo": "Alert profile for new stores",
  "agencia.riesgo.defecto.texto": "Applied to each store you connect from now on. Stores already connected aren't touched.",
  "agencia.riesgo.defecto.guardado": "Default profile saved.",
  "eventos.pie.enlace": "Change guardrails",
  "motivo.segun_shopify": "according to Shopify",
  "riesgo.regla.urgente_desde.ayuda": "{desde} or more: alert. {urgente} or more: urgent.",
  "riesgo.regla.urgente_desde.igual": "Same as “From”: this rule will alert as urgent straight away.",
  "inicio.alerta.otras.ver": "See them in Events",
  "valor.estado.active": "Active",
  "valor.estado.draft": "Draft",
  "valor.estado.archived": "Archived",
  "valor.estado.unlisted": "Unlisted",
  "valor.ordenacion.alpha_asc": "Alphabetical (A–Z)",
  "valor.ordenacion.alpha_desc": "Alphabetical (Z–A)",
  "valor.ordenacion.best_selling": "Best selling",
  "valor.ordenacion.created": "Date created (oldest first)",
  "valor.ordenacion.created_desc": "Date created (newest first)",
  "valor.ordenacion.manual": "Manual",
  "valor.ordenacion.most_relevant": "Most relevant",
  "valor.ordenacion.price_asc": "Price (low to high)",
  "valor.ordenacion.price_desc": "Price (high to low)",
  "patron.estado": "Status changed to “{estado}”",
  "agencia.evento.cambio": "the change",
  "origen.edicion_masiva": "Bulk edit",
  "motivo.edicion_masiva": "{productos} in {minutos} min, same value: {valor} (typical of a bulk edit in the admin or another app)",
  "motivo.edicion_masiva.valores": "{productos} in {minutos} min, same changes: {valor} (typical of a bulk edit in the admin or another app)",
  "detalle.cerrar_ahora.ayuda": "Closes the event now, without waiting for the quiet minutes to pass, so you can undo it. If more changes arrive before you confirm, you'll see the updated numbers; changes that arrive after you undo go into a new event.",
  "inicio.avisos.email": "Alerts go to {emails}.",
  "inicio.avisos.email_slack": "Alerts go to {emails} and Slack.",
  "inicio.avisos.slack": "Alerts go to Slack.",
  "inicio.avisos.nadie": "No one will receive alerts: add an email.",
  "inicio.avisos.cambiar": "Change",
  "inicio.avisos.anadir": "Add an email",
  "confirmar.tranquilo.titulo": "No changes have arrived for {minutos, plural, one {# minute} other {# minutes}}",
  "confirmar.tranquilo.texto": "If the import or edit has finished, you can undo what has arrived: {productos}. Nothing changes until you confirm in the next step.",
  "confirmar.tranquilo.boton": "Prepare the undo",
  "confirmar.tranquilo.ayuda": "If more changes arrive before you confirm, you'll see the updated numbers. Changes that arrive after you undo go into a new event.",
  "bienvenida.email.campo": "Email addresses",
  "bienvenida.email.probar": "Send test alert",
  "bienvenida.email.guardar": "Save without testing",
  "bienvenida.email.invalido": "Enter at least one valid email.",
  "proteccion.avisos.titulo": "Alerts",
  "proteccion.avisos.quien": "Who we alert",
  "proteccion.avisos.cuando": "When we alert",
  "ajustes.email.interruptor": "Alert by email",
  "ajustes.email.campo": "Email addresses",
  "ajustes.slack.interruptor": "Alert in Slack",
  "ajustes.avisos.movido": "Who we alert and when is set in Protection, with a single save button.",
  "detalle.revisado.toast": "Marked as reviewed",
  "deshacer.bloqueado.linea": "You need an active plan to undo.",
  "aviso.titular": "{resumen} ({tienda})",
  "aviso.proposito": "Was it on purpose? Open it in Reversa and mark it as reviewed.",
  "agencia.avisos.titulo": "Agency alert email",
  "agencia.avisos.texto": "Get the urgent alerts from all your stores here, one per event, with the store name in the subject and a link to undo from the panel. Each store also keeps receiving its own alerts.",
  "agencia.avisos.campo": "Email addresses",
  "agencia.avisos.ayuda": "Separated by commas. Empty: the agency gets no email alerts.",
  "agencia.avisos.guardado": "Alert email saved.",
  "agencia.tiendas.deshacer": "Undo…",
  "vuelta.lanzada_por": "Scheduled undo · {quien}",
  "vuelta.la_tienda": "the store",
  "vuelta.aviso.evento": "{evento} from {momento}",
  "vuelta.aviso.evento.sin": "the scheduled change",
  "vuelta.aviso.eventos": "{evento} and {n, plural, one {another change} other {# more changes}} from the same campaign",
  "vuelta.aviso.pie.programada": "You're getting this because a scheduled undo was set up in Reversa. Who we notify is changed in Reversa → Protection → Alerts.",
  "vuelta.aviso.pie.deshacer": "You're getting this because someone undid a change in Reversa. Who we notify is changed in Reversa → Protection → Alerts.",
  "vuelta.motivo.plan": "the plan wasn't active",
  "vuelta.motivo.ventana": "the margin ran out before we could start",
  "vuelta.motivo.desinstalada": "Reversa was uninstalled",
  "vuelta.motivo.evento_abierto": "changes to these products were still coming in",
  "vuelta.motivo.otra_en_marcha": "another undo was running on these products",
  "vuelta.motivo.error_shopify": "Shopify returned errors",
  "vuelta.motivo.token": "Reversa couldn't connect to your store",
  "vuelta.aviso.hecha.asunto": "[Reversa] {tienda}: change undone ({correctos} of {total} fields checked)",
  "vuelta.aviso.hecha.titular": "We've undone {evento}: {correctos} of {total} fields checked.",
  "vuelta.aviso.diferencias.titular": "We've undone {evento}, but not everything ended up as expected: {correctos} of {total} fields checked.",
  "vuelta.aviso.parcial": "Part of it wasn't done: {motivo}.",
  "vuelta.aviso.respetados": "Heads up: {respetan} keep the value they were given later (the result shows which).",
  "vuelta.aviso.volver_a_dejar": "If this was a mistake, you can put it back from the result.",
  "vuelta.aviso.ver_resultado": "See the result",
  "vuelta.aviso.ver": "See the scheduled undo",
  "vuelta.aviso.ver_o_cambiar": "See or change the scheduled undo",
  "vuelta.aviso.ya_deshecho.asunto": "[Reversa] {tienda}: the scheduled undo wasn't needed",
  "vuelta.aviso.ya_deshecho.titular": "{evento} had already been undone: nothing needed to change.",
  "vuelta.aviso.detenida.asunto": "[Reversa] {tienda}: the undo scheduled for {hora} needs your review",
  "vuelta.aviso.detenida.titular": "We didn't run the {hora} undo automatically: what would come back triggers an alert ({regla}).",
  "vuelta.aviso.nada_cambiado": "We haven't changed anything: the fields are as they were.",
  "vuelta.aviso.regla_freno": "A scheduled undo doesn't write on its own if what comes back triggers an urgent alert. Please review and decide.",
  "vuelta.aviso.revisar": "Review and undo (you'll be asked to confirm)",
  "vuelta.aviso.fallida.asunto": "[Reversa] {tienda}: the undo scheduled for {hora} didn't finish well",
  "vuelta.aviso.fallida.titular": "The undo scheduled for {hora} ({evento}) didn't finish well.",
  "vuelta.aviso.fallida.texto": "The result shows what was written, the restore point and the option to check again.",
  "vuelta.aviso.no_hecha.asunto": "[Reversa] {tienda}: we couldn't run the undo scheduled for {hora}",
  "vuelta.aviso.no_hecha.titular": "We couldn't run the undo scheduled for {hora} ({motivo}).",
  "vuelta.aviso.evento_linea": "It was the undo of {evento}.",
  "vuelta.aviso.deshacer_ahora": "Undo now (you'll be asked to confirm)",
  "vuelta.aviso.preaviso.asunto": "[Reversa] {tienda}: undo scheduled for {momento}",
  "vuelta.aviso.preaviso.titular": "You scheduled the undo of {evento}.",
  "vuelta.aviso.preaviso.vuelven": "On {momento} (store time) about {campos} will go back to their previous value.",
  "vuelta.aviso.preaviso.respetados": "If it ran now, we'd leave {respetan} that were changed later as they are.",
  "vuelta.aviso.preaviso.cancelar": "To change or cancel it, open the link (cancelling asks you to confirm).",
  "vuelta.aviso.preaviso.nada": "Nothing changes until then. We'll write again when it's done.",
  "vuelta.aviso.salud.token.asunto": "[Reversa] {tienda}: Reversa can't connect to your store",
  "vuelta.aviso.salud.token.titular": "The undo scheduled for {momento} can't run unless we renew Shopify's permission.",
  "vuelta.aviso.salud.token.texto": "Open Reversa once from the Shopify admin to renew it. Nothing else is needed.",
  "vuelta.aviso.salud.plan.asunto": "[Reversa] {tienda}: check your plan before the scheduled undo",
  "vuelta.aviso.salud.plan.titular": "The undo scheduled for {momento} won't run if the plan isn't active at that time.",
  "vuelta.aviso.salud.plan.texto": "Choosing or paying for the plan before then is enough for it to go ahead.",
  "vuelta.aviso.ir_plan": "Go to Plan",
  "vuelta.aviso.desinstalada.asunto": "[Reversa] {tienda}: scheduled undos cancelled",
  "vuelta.aviso.desinstalada.titular": "You've uninstalled Reversa: {n, plural, one {the scheduled undo won't run} other {the # scheduled undos won't run}}.",
  "vuelta.aviso.desinstalada.texto": "The fields will stay as they are now. If you reinstall Reversa, you can schedule them again.",
  "vuelta.aviso.agencia.asunto": "[Reversa] {tienda}: an undo scheduled by your agency is still on",
  "vuelta.aviso.agencia.titular": "{agencia} scheduled it and no longer has access; it's still scheduled for {momento}.",
  "vuelta.aviso.agencia.texto": "You can see or cancel it in Reversa whenever you like.",
  "deshacer.aviso.fallida.asunto": "[Reversa] {tienda}: the undo didn't finish well",
  "deshacer.aviso.fallida.titular": "The undo of {evento} didn't finish well.",
  "deshacer.aviso.sin_cambios.asunto": "[Reversa] {tienda}: there was nothing to undo",
  "deshacer.aviso.sin_cambios.titular": "When undoing {evento} there was nothing to change back: everything already had a later value or its previous one.",
  "deshacer.aviso.respetados": "We left {respetan} that were changed later as they are.",
  "deshacer.aviso.sobrescritos": "{n, plural, one {1 field changed afterwards went back to its previous value because you chose it.} other {# fields changed afterwards went back to their previous value because you chose them.}}",
  "deshacer.aviso.rehecho.asunto": "[Reversa] {tienda}: put back as it was ({correctos} of {total} fields checked)",
  "deshacer.aviso.rehecho.titular": "We've put it back as it was before the undo ({momento}): {correctos} of {total} fields checked.",
  "deshacer.aviso.rehecho.diferencias.titular": "We've put it back as it was before the undo ({momento}), but not everything ended up as expected: {correctos} of {total} fields checked.",
  "deshacer.aviso.rehecho.fallida.asunto": "[Reversa] {tienda}: putting it back as it was didn't finish well",
  "deshacer.aviso.rehecho.fallida.titular": "Putting it back as it was before the undo ({momento}) didn't finish well.",
  "deshacer.aviso.rehecho.sin_cambios.titular": "When putting it back as it was before the undo ({momento}) there was nothing to change: everything already had a later value or the one from before the undo.",
  "deshacer.aviso.rehecho.otra_vez": "If this was a mistake, you can undo it again from the result.",
  "riesgo.aviso.cambiar.agencia": "Change the alerts: agency dashboard → Settings.",
  "email.pie.contacto.solo": "Contact: {email}",
  "vuelta.titulo": "Schedule the undo of {tipo} {momento}",
  "vuelta.miga": "Back to the change",
  "vuelta.cuando": "When?",
  "vuelta.fecha": "Date",
  "vuelta.hora": "Store time ({zona})",
  "vuelta.atajos": "Shortcuts:",
  "vuelta.atajo.manana": "Tomorrow 00:00",
  "vuelta.atajo.lunes": "Monday 00:00",
  "vuelta.atajo.siete_dias": "In 7 days",
  "vuelta.hora_ajustada": "The clocks change that day and that time doesn't exist: the undo will run at {hora}.",
  "vuelta.hora_repetida": "The clocks change that day and that time happens twice: it will be the first one.",
  "vuelta.para_ti": "For you: {momento} ({zona}).",
  "vuelta.ventana.etiqueta": "Margin to start",
  "vuelta.ventana.60": "1 hour",
  "vuelta.ventana.360": "6 hours",
  "vuelta.ventana.1440": "24 hours",
  "vuelta.ventana": "If we can't start at that time, we'll keep trying for {horas}. After that we won't change anything and we'll let you know so you can do it yourself.",
  "vuelta.ahora": "If it ran now:",
  "vuelta.calculando": "We're working out what would come back; you can schedule it anyway.",
  "vuelta.sin_vista": "We couldn't work out what would come back right now; at the chosen time it's worked out from your store as it is then.",
  "vuelta.relee": "At the chosen time we read your store again: anything that changes until then is left as it is.",
  "vuelta.tarda": "With large catalogs it can take several minutes to finish.",
  "vuelta.otros_marcados": "{n, plural, one {Another change} other {# more changes}} from the same campaign will also be undone (under «See details»).",
  "vuelta.avisar.preaviso": "Remind me the day before",
  "vuelta.avisar.resultado": "Tell me when it's done",
  "vuelta.avisar.problemas": "If something prevents it, we'll let you know anyway.",
  "vuelta.avisos.email": "By email ({emails})",
  "vuelta.avisos.slack": "By Slack",
  "vuelta.avisos.ninguno": "Right now we don't notify anyone: you can add an email in Protection → Alerts.",
  "vuelta.boton": "Schedule for {momento}",
  "vuelta.boton.cambiar": "Change to {momento}",
  "vuelta.boton.sin_fecha": "Choose a date and time",
  "vuelta.detalles": "See details (other changes from the campaign and how it works)",
  "vuelta.campana.titulo": "Other changes from the same campaign",
  "vuelta.campana.texto": "They changed the same field on some of these products the same day. Tick the ones you also want undone at the same time.",
  "vuelta.campana.fila": "{evento} {momento} · {productos}",
  "vuelta.campana.orden": "They're undone one after another, newest first.",
  "vuelta.reglas.titulo": "How it works",
  "vuelta.reglas.1": "It only writes on its own between the chosen time and the end of the margin.",
  "vuelta.reglas.2": "It only undoes the changes you saw and confirmed; it doesn't add others on its own.",
  "vuelta.reglas.3": "It doesn't overwrite what was changed later and doesn't touch inventory.",
  "vuelta.reglas.4": "If what would come back triggers an urgent alert, it stops and asks you.",
  "vuelta.legal": "Reversa undoes the catalog changes it recorded; it doesn't check that your prices or reference prices meet your country's rules.",
  "vuelta.no_se_puede": "This change can't be scheduled (inventory and undo records aren't undone automatically).",
  "vuelta.no_se_puede.abierto": "Changes for this event are still coming in: you can schedule the undo once they stop.",
  "vuelta.no_se_puede.deshecho": "This change is already undone.",
  "vuelta.error.no_existe": "That change is no longer in the history.",
  "vuelta.error.no_se_puede": "That change can't be scheduled.",
  "vuelta.error.abierto": "Changes for this event are still coming in: try again once they stop.",
  "vuelta.error.ya_deshecho": "That change is already undone.",
  "vuelta.error.ya_programada": "This change already has a scheduled undo.",
  "vuelta.error.limite": "You already have 10 pending scheduled undos, the most per store. Cancel one or wait for one to finish.",
  "vuelta.error.pronto": "Choose a time at least 15 minutes from now.",
  "vuelta.error.lejos": "At most {dias} days ahead (what your plan's history keeps).",
  "vuelta.error.formato": "Check the date and time.",
  "vuelta.error.no_pendiente": "This scheduled undo can't be changed any more: it has started or finished.",
  "vuelta.error.en_marcha": "It's already running: it finishes and is checked (leaving the store half done would be worse).",
  "vuelta.error.plan": "You need an active plan to schedule the undo.",
  "vuelta.pagina.titulo": "Scheduled undo",
  "vuelta.no_encontrada": "We couldn't find this scheduled undo.",
  "vuelta.lista.volver": "Scheduled undos",
  "vuelta.programada": "Scheduled for {momento} ({zona}).",
  "vuelta.faltan.dias": "{dias, plural, one {1 day} other {# days}} and {horas, plural, one {1 hour} other {# hours}} to go.",
  "vuelta.faltan.horas": "{horas, plural, one {1 hour} other {# hours}} and {minutos, plural, one {1 minute} other {# minutes}} to go.",
  "vuelta.faltan.minutos": "{minutos, plural, one {1 minute} other {# minutes}} to go.",
  "vuelta.deshara": "It will undo:",
  "vuelta.deshara.varios": "It will undo {n} changes, newest first:",
  "vuelta.evento.fila": "{evento} from {momento} · {productos}",
  "vuelta.evento.no_existe": "A change that's no longer in the history",
  "vuelta.evento.ya_deshecho": "was already undone",
  "vuelta.si_ahora": "If it ran now: {campos} would come back; we'd leave {respetan} that were changed later.",
  "vuelta.cambiados_despues": "Since you scheduled it, {campos} have been changed again: those will stay as they are.",
  "vuelta.resultado.linea": "We checked every field: {correctos} of {total} match.",
  "vuelta.por": "Scheduled by {quien} · {momento}",
  "vuelta.por_agencia": "Scheduled by {quien} (agency) · {momento}",
  "vuelta.avisaremos.ambos": "We'll remind you the day before and tell you when it's done.",
  "vuelta.avisaremos.final": "We'll tell you when it's done.",
  "vuelta.cancelada.por": "Cancelled by {quien} · {momento}",
  "vuelta.cancelada.desinstalada": "It was cancelled when Reversa was uninstalled ({momento}). It doesn't come back on its own.",
  "vuelta.horas_reales": "Started: {inicio} · Finished: {fin}",
  "vuelta.accion.cambiar": "Change date or time",
  "vuelta.accion.cancelar": "Cancel the scheduled undo",
  "vuelta.accion.descartar": "Dismiss",
  "vuelta.accion.deshacer_ahora": "Undo now…",
  "vuelta.accion.revisar": "Review and undo…",
  "vuelta.accion.volver_a_programar": "Schedule again",
  "vuelta.cancelar.titulo": "Cancel the scheduled undo?",
  "vuelta.cancelar.texto": "The fields will stay as they are now. You can schedule it again whenever you like.",
  "vuelta.cancelar.no": "No, keep it",
  "vuelta.toast.programada": "Undo scheduled",
  "vuelta.toast.cambiada": "Scheduled undo changed",
  "vuelta.toast.cancelada": "Scheduled undo cancelled. The fields stay as they are now.",
  "vuelta.toast.ya": "This change already had a scheduled undo",
  "vuelta.estado.esperando": "It was due at {hora} and we haven't been able to start yet: {motivo}. We'll keep trying until {fin}.",
  "vuelta.estado.en_marcha": "Undoing… you can close this screen: we'll keep going in the background and write to you when it's done.",
  "vuelta.estado.hecha": "Done: the fields are back to their previous value.",
  "vuelta.estado.con_diferencias": "Done, but not everything ended up as expected: see the result.",
  "vuelta.estado.parcial": "Part of it wasn't done: {motivo}. See the result.",
  "vuelta.estado.fallida": "The scheduled undo didn't finish well. The result shows what was written and lets you check again.",
  "vuelta.estado.detenida_riesgo": "We didn't run it automatically: what would come back triggers an alert ({regla}). We haven't changed anything; please review and decide.",
  "vuelta.estado.detenida_riesgo.generico": "an urgent alert",
  "vuelta.estado.no_hecha": "We couldn't run the undo scheduled for {hora} ({motivo}). We haven't changed anything: the fields are as they were.",
  "vuelta.estado.ya_deshecho": "This change had already been undone: nothing was needed.",
  "vuelta.estado_corto.programada": "Scheduled",
  "vuelta.estado_corto.esperando": "Waiting",
  "vuelta.estado_corto.en_marcha": "Running",
  "vuelta.estado_corto.hecha": "Done",
  "vuelta.estado_corto.con_diferencias": "With differences",
  "vuelta.estado_corto.fallida": "Didn't finish well",
  "vuelta.estado_corto.detenida_riesgo": "Stopped by an alert",
  "vuelta.estado_corto.no_hecha": "Not done",
  "vuelta.estado_corto.ya_deshecho": "Not needed",
  "vuelta.estado_corto.cancelada": "Cancelled",
  "vuelta.insignia": "Undo {momento}",
  "vuelta.lista.cuando": "When",
  "vuelta.lista.que": "What it undoes",
  "vuelta.lista.estado": "Status",
  "vuelta.lista.vacio": "There are no scheduled undos pending or from the last 30 days. You schedule them from a change's detail: «Schedule undo…».",
  "vuelta.lista.fila": "{evento} {momento}",
  "vuelta.lista.mas": "and {n, plural, one {1 more change} other {# more changes}}",
  "eventos.vista.todos": "All changes",
  "eventos.vista.programadas": "Scheduled undos",
  "detalle.programar": "Schedule undo…",
  "detalle.vuelta.linea": "Scheduled to be undone on {momento}.",
  "detalle.vuelta.ver": "See or change",
  "detalle.rebaja": "Is this a sale with an end date? You can schedule its undo.",
  "confirmar.programar.pregunta": "Would you rather it went back on its own later?",
  "confirmar.programar.enlace": "Schedule undo",
  "inicio.vueltas.titulo": "Upcoming scheduled undos",
  "inicio.vueltas.fila": "{momento} · {evento} · {productos}",
  "inicio.vueltas.ver": "See",
  "inicio.vueltas.todas": "See all",
  "inicio.vuelta.problema": "The undo scheduled for {momento} couldn't run ({motivo}). The fields are as they were.",
  "inicio.vuelta.detenida": "The undo scheduled for {momento} stopped before writing: what would come back triggers an alert. The fields are as they were.",
  "inicio.vuelta.desinstalada": "You had an undo scheduled for {momento} that was cancelled when you uninstalled.",
  "reversion.subtitulo.en_curso.avisaremos": "You can close this screen: we'll keep going in the background and write to you when it's done.",
  "ayuda.vueltas.titulo": "Schedule undo",
  "ayuda.vueltas.texto": "In a change's detail, «Schedule undo…» picks a store date and time to undo it on its own (for example, the end of a sale). At that time Reversa does the same as «Undo this change»: it reads the store again, leaves anything changed later as it is and checks every field. Pending ones are in Events → Scheduled undos.",
  "agencia.nav.programadas": "Scheduled",
  "agencia.migas.programar": "Schedule undo",
  "agencia.vuelta.permiso": "Your agency role is «View only»: you can see scheduled undos, but not schedule or cancel them. Ask someone with «Can also undo» or «Administrator».",
  "agencia.vuelta.zona": "The date and time are the store's ({zona}).",
  "agencia.vuelta.avisos": "We notify the store through its channels and you by email.",
  "agencia.vuelta.boton": "Schedule undo",
  "agencia.vuelta.boton.cambiar": "Save the new date",
  "agencia.vuelta.tienda_cancela": "The store can see and cancel it from its Reversa.",
  "agencia.programadas.titulo": "Scheduled undos",
  "agencia.programadas.texto": "{n, plural, =0 {None pending in your stores.} one {1 pending in your stores, by time.} other {# pending in your stores, by time.}}",
  "agencia.programadas.vacio": "No scheduled undos pending",
  "agencia.programadas.vacio.texto": "You schedule them from a store event's detail: «Schedule undo…».",
  "agencia.programadas.problemas": "Couldn't run (last 7 days)",
  "agencia.tiendas.proxima_vuelta": "Next scheduled undo: {momento}",
  "agencia.accion.programar_vuelta": "Scheduled an undo",
  "agencia.accion.cambiar_vuelta": "Changed a scheduled undo",
  "agencia.accion.cancelar_vuelta": "Cancelled a scheduled undo",
  "nav.csv": "Review CSV",
  "agencia.accion.revisar_csv": "Reviewed a CSV",
  "csv.veredicto.corto.rojo": "Don't import as is",
  "csv.veredicto.corto.ambar": "Check first",
  "csv.veredicto.corto.verde": "No risks seen",
  "csv.titulo": "Review a CSV before importing it",
  "csv.subtitulo": "Upload it here before importing it into Shopify. We compare it with your catalog and tell you what would change. Reversa doesn't import anything or change your store.",
  "csv.zona.etiqueta": "Drop your product CSV here or click to choose it",
  "csv.zona.ayuda": "Only .csv · up to 15 MB (the most Shopify accepts)",
  "csv.zona.elegido": "Chosen file: {nombre} ({tamano})",
  "csv.sobrescribir.pregunta": "When you import it into Shopify, will you tick “Overwrite products with matching handles”?",
  "csv.sobrescribir.si": "Yes",
  "csv.sobrescribir.no": "No",
  "csv.sobrescribir.no_lo_se": "I don't know",
  "csv.sobrescribir.ayuda": "If you're not sure, we review it as if you ticked it: that's when the most can change.",
  "csv.boton.revisar": "Review the file",
  "csv.retencion": "We keep your file encrypted for 24 hours so you can download the corrected version; then we delete it.",
  "csv.probable": "This is a prediction based on the rules Shopify publishes and what we've tested; Shopify may behave differently.",
  "csv.error.grande": "The file is over 15 MB. Shopify wouldn't accept it either: split it into several files.",
  "csv.error.no_csv": "Shopify only imports CSV files. In Excel: File › Save As › CSV UTF-8.",
  "csv.error.vacio": "The file is empty.",
  "csv.error.sin_handle": "This doesn't look like a Shopify product CSV: the handle column is missing (“Handle” or “URL handle”).",
  "csv.error.limite": "You've already reviewed {n} files in the last 24 hours, the maximum per store. You can review another one 24 hours after the first.",
  "csv.error.copia": "We're still copying your catalog ({porcentaje}%). You can review files as soon as it finishes.",
  "csv.error.copia.sin": "We're still copying your catalog. You can review files as soon as it finishes.",
  "csv.error.no_encontrada": "We couldn't find this review. Results are kept for 30 days.",
  "csv.error.sin_archivo": "The file is no longer stored (we delete it after 24 hours or when you click “Delete now”). Upload it again to fix it.",
  "csv.error.error": "We couldn't read the file. Check that it's a product CSV exported from Shopify or made with its template.",
  "csv.error.elige": "Choose a CSV file first.",
  "csv.borrar_ahora": "Delete now",
  "csv.toast.borrado": "File deleted",
  "csv.archivo.guardado": "We keep the file encrypted until {momento}.",
  "csv.archivo.borrado": "The file has been deleted; the result is kept for 30 days.",
  "csv.recientes.titulo": "Recent reviews",
  "csv.recientes.vacio": "You haven't reviewed any files yet.",
  "csv.recientes.avisos": "{n, plural, =0 {No risks seen} one {Check # thing} other {Check # things}}",
  "csv.estado.pendiente": "Queued",
  "csv.estado.analizando": "Reviewing…",
  "csv.estado.fallida": "Couldn't be reviewed",
  "csv.por_agencia": "Reviewed by {agencia} (agency)",
  "csv.por_persona": "Reviewed by {nombre}",
  "csv.ver": "View",
  "csv.quedan": "{n, plural, one {You can review # more file in these 24 hours.} other {You can review # more files in these 24 hours.}}",
  "csv.resultado.titulo": "Review result",
  "csv.resultado.cabecera": "{nombre} · reviewed {momento} against your catalog",
  "csv.progreso.cola": "Queued: we'll start in a few seconds.",
  "csv.progreso.leyendo": "Reading the file: {hechos} of {total} rows",
  "csv.progreso.comparando": "Comparing with your catalog: {hechos} of {total} products",
  "csv.progreso.cerrar": "You can close this screen: the review continues and will appear under “Recent reviews”.",
  "csv.veredicto.rojo": "Don't import it like this: {riesgo}",
  "csv.veredicto.ambar": "{n, plural, one {Check # thing before importing it} other {Check # things before importing it}}",
  "csv.veredicto.verde": "We don't see any risks in this file",
  "csv.veredicto.y": "{a} and {b}",
  "csv.catalogo_cambiado": "This review was made {momento}. Your catalog has changed since then.",
  "csv.volver_a_revisar": "Review again",
  "csv.que_cambiaria.si": "What would change if you import it (with “Overwrite” ticked)",
  "csv.que_cambiaria.no": "What would change if you import it (without “Overwrite”)",
  "csv.no_lo_se": "Since you're not sure whether you'll tick it, we reviewed it as if you did.",
  "csv.resumen.cambian": "{n, plural, one {# product changes} other {# products change}}",
  "csv.resumen.nuevos": "{n, plural, one {# new product} other {# new products}}",
  "csv.resumen.filas_sin_cambios": "{n, plural, one {# row unchanged} other {# rows unchanged}}",
  "csv.resumen.variantes_nuevas": "{n, plural, one {# new variant} other {# new variants}}",
  "csv.no_pasa_nada": "{n, plural, one {# product in your store isn't in the file: nothing happens to it.} other {# products in your store aren't in the file: nothing happens to them.}}",
  "csv.sin_sobrescribir": "Without “Overwrite”, Shopify will skip the products that already exist ({existentes}) and only create the new ones ({nuevos}).",
  "csv.riesgos.titulo": "Risks",
  "csv.riesgos.productos": "Products",
  "csv.riesgos.vacio": "We don't see any.",
  "csv.nivel.urgente": "Urgent",
  "csv.nivel.aviso": "Check",
  "csv.nivel.info": "Info",
  "csv.nivel.info.umbral": "Below your risk alert threshold",
  "csv.probable.insignia": "Likely",
  "csv.riesgo.precio_cero": "Price set to 0",
  "csv.riesgo.factor_extremo": "Price multiplied or divided by 10 or more",
  "csv.riesgo.factor_extremo.factor": "Price changed {factor}",
  "csv.riesgo.bajo_coste": "Price below cost",
  "csv.riesgo.rebaja_fuerte": "Price cut by half or more",
  "csv.riesgo.comparacion_menor": "Compare-at price lower than the price",
  "csv.riesgo.a_borrador": "Would become draft or archived",
  "csv.riesgo.fuera_de_canal": "Would be removed from the online store",
  "csv.riesgo.imagenes_quitadas": "Images that would be removed (not in the file)",
  "csv.riesgo.productos_borrados": "Deleted products",
  "csv.riesgo.variantes_borradas": "Variants that would be deleted (not in the file)",
  "csv.riesgo.handles_cambiados": "New product that looks like a duplicate (different handle)",
  "csv.riesgo.vaciado_texto": "Title or description emptied (blank cell)",
  "csv.riesgo.vaciado": "Fields emptied (blank cell)",
  "csv.riesgo.columna_dependiente": "Column that depends on a missing one (Shopify would delete the data)",
  "csv.riesgo.codificacion": "File not in UTF-8 or with broken accents (we convert it)",
  "csv.riesgo.formato_numeros": "File with “;”, decimal commas or currency symbols (we convert it)",
  "csv.riesgo.coma_decimal_dudosa": "Amounts with a decimal comma in a comma-separated file",
  "csv.riesgo.importe_ilegible": "Amounts that can't be read",
  "csv.riesgo.excel_codigos": "Barcodes or SKUs damaged by Excel (scientific notation or missing leading zero)",
  "csv.riesgo.excel_fechas": "Options turned into dates by Excel (“1-2” → “2-Jan”)",
  "csv.riesgo.filas_separadas": "Rows of the same product that aren't together",
  "csv.riesgo.opciones_repetidas": "Repeated option combinations (Shopify will reject it)",
  "csv.riesgo.demasiados": "More than 2,048 variants or 250 images in a product (Shopify will reject it)",
  "csv.riesgo.inventario": "Inventory different from now (Reversa doesn't undo inventory)",
  "csv.riesgo.columnas_desconocidas": "Columns we don't recognise (we don't take them into account)",
  "csv.frase.precio_cero": "it would set the price of {n, plural, one {# product} other {# products}} to 0",
  "csv.frase.factor_extremo": "it would multiply or divide the price of {n, plural, one {# product} other {# products}} by 10 or more",
  "csv.frase.factor_extremo.factor": "it would change the price {factor} in {n, plural, one {# product} other {# products}}",
  "csv.frase.bajo_coste": "it would leave {n, plural, one {# product} other {# products}} below cost",
  "csv.frase.rebaja_fuerte": "it would cut {n, plural, one {# product} other {# products}} to half price or less",
  "csv.frase.comparacion_menor": "it would leave the compare-at price below the price in {n, plural, one {# product} other {# products}}",
  "csv.frase.a_borrador": "it would make {n, plural, one {# product} other {# products}} draft or archived",
  "csv.frase.fuera_de_canal": "it would remove {n, plural, one {# product} other {# products}} from the online store",
  "csv.frase.imagenes_quitadas": "it would likely remove images from {n, plural, one {# product} other {# products}}",
  "csv.frase.productos_borrados": "it would delete {n, plural, one {# product} other {# products}}",
  "csv.frase.variantes_borradas": "it would likely delete {n, plural, one {# variant} other {# variants}}",
  "csv.frase.handles_cambiados": "it would create {n, plural, one {# product that looks like a duplicate} other {# products that look like duplicates}}",
  "csv.frase.vaciado_texto": "it would empty the title or description of {n, plural, one {# product} other {# products}}",
  "csv.frase.columna_dependiente": "it would delete data from {n, plural, one {# product} other {# products}} (a column depends on a missing one)",
  "csv.frase.opciones_repetidas": "Shopify would reject {n, plural, one {# product} other {# products}} (repeated options)",
  "csv.frase.demasiados": "Shopify would reject {n, plural, one {# product} other {# products}} (too many variants or images)",
  "csv.campo.imagenes": "Images",
  "csv.campo.imagen": "Image",
  "csv.campo.imagenAlt": "Image alt text",
  "csv.campo.coste": "Cost per item",
  "csv.campo.variantes": "Variants",
  "csv.ejemplos.mas": "{n, plural, one {And # more.} other {And # more.}}",
  "csv.ejemplos.ver_todos": "Download the full list",
  "csv.ejemplos.cambio": "{antes} → {despues}",
  "csv.ejemplos.borrada": "would be deleted",
  "csv.ejemplos.quitada": "would be removed",
  "csv.ejemplos.duplicado": "looks like the product “{handle}”",
  "csv.tildes": "This is how they'd look in your store: {ejemplos}",
  "csv.campos.vaciados": "Fields: {lista}",
  "csv.campo_a_campo.titulo": "What changes, field by field",
  "csv.campo_a_campo.fila": "{campo}: {n, plural, one {# product} other {# products}}",
  "csv.campo_a_campo.vacio": "No field changes.",
  "csv.columnas.desconocidas": "We don't recognise {n, plural, one {# column} other {# columns}}: {lista}. We don't take them into account.",
  "csv.columnas.sin_comparar": "Shopify columns we don't compare (Reversa doesn't store that data): {lista}.",
  "csv.no_importa": "Reversa doesn't import anything: you do the import in Shopify, under Products › Import.",
  "csv.despues": "If something goes wrong after importing it, you can undo it here.",
  "csv.descargar_riesgos": "Download the list of risks (CSV)",
  "csv.lista.cabecera": "Risk|Handle|Title|Variant|Field|Before|After",
  "csv.descargando": "Preparing the file…",
  "csv.descarga.error": "The file couldn't be prepared. Try again.",
  "csv.corregir.boton": "Fix the file…",
  "csv.corregir.titulo": "Fix {nombre}",
  "csv.corregir.texto": "Choose what we fix. We give you a new file; yours doesn't change. Check it before importing it.",
  "csv.corregir.formato.titulo": "Format (recommended, included)",
  "csv.corregir.formato": "Save as UTF-8, with commas and a decimal point, as Shopify asks.",
  "csv.corregir.riesgos.titulo": "Risks",
  "csv.corregir.mantener": "{titulo} ({n}): use the value they have now in your store.",
  "csv.corregir.quitar": "{titulo} ({n}): remove {p, plural, one {that whole product} other {those # whole products}} from the file. They won't change.",
  "csv.corregir.quitar.variantes": "Removing just one row would delete that variant: that's why we remove the whole product.",
  "csv.no_dividimos": "We don't divide by 100: we don't know which price you meant.",
  "csv.corregir.resultado": "Result: {filas, plural, one {# row} other {# rows}} · {cambian, plural, one {# product changes} other {# products change}} · {urgentes, plural, one {# urgent risk} other {# urgent risks}}.",
  "csv.corregir.calculando": "Working out the result…",
  "csv.corregir.descargar": "Download the corrected CSV",
  "csv.corregir.cancelar": "Cancel",
  "csv.corregir.nada": "There's nothing to fix apart from the format.",
  "csv.ayuda_excel": "The file is UTF-8 without BOM, as Shopify asks. If you open it in Excel and accents look wrong, use Data › From Text/CSV.",
  "csv.sufijo": "reviewed by Reversa",
  "csv.toast.descargado": "File downloaded",
  "csv.inicio.titulo": "Going to import a product CSV?",
  "csv.inicio.texto": "Review it first (1 minute).",
  "csv.inicio.boton": "Review a CSV",
  "csv.inicio.descartar": "Hide",
  "csv.evento.linea": "Next time, review the CSV before importing it.",
  "csv.ayuda.titulo": "Review a CSV before importing it",
  "csv.ayuda.texto": "In “Review CSV” you upload the file you're going to import into Shopify. We compare it with your catalog and tell you what would change: variants that would be deleted, blank cells that would empty fields, prices ×100 from a decimal comma and the same rules as your risk alerts. You can download a corrected version (we only keep current values, remove whole products or fix the format). Reversa doesn't import anything: you still do the import in Shopify.",
  "agencia.csv.texto": "Any agency member can review files, including “View only”: it doesn't change anything in the store.",
  "csv.corregir.calcular": "Work out the result",
  "ejemplo.email_agencia": "agency@example.com",
  "ejemplo.email_tienda": "you@store.com",
  "error.titulo": "Something went wrong",
  "error.texto": "We couldn’t load this screen. Try again in a few seconds; if it keeps happening, contact us from Help.",
  "error.volver": "Back to Home",
  "portada.texto": "Reversa works inside your Shopify admin. Open it from Apps in your store, or install it from the Shopify App Store.",
  "portada.enlace": "Go to the Shopify App Store",
  "plan.estado.congelada.pausa": "Reversa is paused: Shopify has frozen the charge because of a pending payment. It doesn't record new changes or send alerts, and Undo isn't available. History is kept until it expires. When Shopify collects the payment, Reversa resumes and copies your catalog again; anything that changes during the pause can't be undone.",
  "inicio.acceso.pausa.titulo": "Reversa is paused: choose a plan to stay protected",
  "inicio.pausa.titulo": "Reversa is paused: new changes aren't being recorded",
  "inicio.pausa.texto": "Since {fecha}, without an active plan, Reversa acknowledges Shopify's notifications but doesn't store the changes or send alerts. Earlier history is kept until it expires.",
  "plan.texto.pausa": "No plan · paused",
  "plan.pausa.reanudar": "When you choose a plan, Reversa resumes and copies your catalog again (it takes a few minutes). Changes made during the pause aren't in the history and can't be undone.",
  "pausa.email.asunto": "{tienda}: Reversa is paused. Choose a plan to stay protected",
  "pausa.email.titular": "Reversa is paused on {tienda}: choose a plan to stay protected",
  "pausa.email.desde": "Since {momento}, without an active plan, Reversa doesn't record new catalog changes or send alerts.",
  "pausa.email.historial": "The history you already have is kept until it expires, but Undo isn't available while there's no plan.",
  "pausa.email.reanudar": "When you choose a plan, Reversa resumes and copies your catalog again. Changes made during the pause aren't in the history and can't be undone.",
  "pausa.email.accion": "Choose a plan",
  "inicio.acceso_perdido.titulo": "Reversa had no access to your store",
  "inicio.acceso_perdido.recuperado": "From {momento} until you opened the app, Shopify didn't let Reversa read your catalog. It has resumed: we're reviewing the catalog to pick up what changed in the meantime.",
  "inicio.acceso_perdido.vigente": "Since {momento}, Shopify hasn't let Reversa read your catalog. Reload this page; if this notice stays, write to us from Help.",
  "acceso.email.asunto": "{tienda}: Reversa needs you to open the app to keep protecting your catalog",
  "acceso.email.titular": "Reversa has lost access to {tienda}: open it once in your Shopify admin to resume",
  "acceso.email.desde": "Since {momento}, Reversa can't read your catalog: it doesn't check changes against Shopify, run the nightly review or undo. The change notifications Shopify sends us are kept and processed when access is back.",
  "acceso.email.porque": "This happens when Shopify withdraws the app's permission, for example after a long time without opening it. You haven't done anything wrong and there's no need to reinstall.",
  "acceso.email.reanudar": "Just open Reversa once from your store admin: it resumes on its own and reviews the catalog to pick up what changed in the meantime.",
  "acceso.email.accion": "Open Reversa",
  "ayuda.plan.titulo": "Free days, plans and pause",
  "ayuda.plan.texto": "Reversa has a 14-day free trial with every feature from when you choose and approve a plan (90 days if your agency is in early access); if you cancel before it ends, you aren't charged. When installed, Reversa waits for you to choose the plan before copying your catalog and recording. There is no free plan: if you cancel the plan, or Shopify freezes the charge for more than 14 days, Reversa pauses. While paused it doesn't record new changes or send alerts, keeps the history you already have until it expires, and doesn't let you undo. When you choose a plan in Plan, it resumes and copies your catalog again; what changed during the pause can't be undone. The free trial is once per store: reinstalling doesn't start it again. If your catalog goes over your plan's products, Reversa keeps recording and lets you know; after 14 days, “Undo” is not available until you choose a plan that covers it. Development store: up to 50,000 products, free, with the same notice if it goes over.",
  "email.pie.tienda": "This alert is sent by Reversa, the history and undo app installed on your Shopify store.",
  "email.pie.contacto.tienda": "Contact: {email} · To change alerts: Reversa → Protection.",
  "email.pie.agencia": "This alert is sent by Reversa because your agency receives the alerts of the stores it has connected.",
  "email.pie.contacto.agencia": "Contact: {email} · To change alerts: agency dashboard → Settings.",
  "email.marca.tambien": "{agencia}, your agency, has also received this alert.",
  "email.marca.acceso": "{agencia}, your agency, has access to Reversa on your store.",
  "email.marca.slack": "Your agency: {agencia}",
  "agencia.marca.con_reversa": "with Reversa",
  "agencia.lateral.ayuda": "Help",
  "agencia.texto.titulo": "Text size",
  "agencia.texto.normal": "Normal",
  "agencia.texto.grande": "Large",
  "agencia.texto.muy-grande": "Extra large",
  "agencia.texto.cambiar": "Text size: {tamano}. Press to change it",
  "marca.titulo": "Agency branding",
  "marca.intro": "How the dashboard looks to your team and how your agency appears in your clients' alerts. Reversa's name stays, so your clients know where each alert comes from.",
  "marca.solo_admin": "Only admins can change the branding.",
  "marca.logo": "Logo",
  "marca.logo.ayuda": "PNG, JPEG or WebP, up to 512 KB. Best with a transparent background and at least 320 × 80 px.",
  "marca.logo.subir": "Upload",
  "marca.logo.quitar": "Remove the logo",
  "marca.logo.sin": "No logo: the agency name is shown.",
  "marca.logo.borrador": "New logo not saved yet: you can see it in the preview.",
  "marca.logo.oscuro": "Version for dark backgrounds (optional)",
  "marca.logo.oscuro.quitar": "Remove the dark-background version",
  "marca.logo.placa": "In the dark theme, put the logo on a light plate",
  "marca.error.vacio": "Choose a file.",
  "marca.error.grande": "The file is larger than 512 KB.",
  "marca.error.tipo": "PNG, JPEG or WebP only: the file's content isn't any of the three.",
  "marca.error.danado": "The file can't be read: it looks damaged.",
  "marca.error.dimensiones": "The image is larger than 2,000 × 2,000 px.",
  "marca.error.pequeno": "The image is too small: it needs to be at least 32 px tall.",
  "marca.error.proporcion": "The shape has to be between square (1:1) and wide (6:1).",
  "marca.error.animado": "Animated images aren't allowed.",
  "marca.error.limite": "You've uploaded many logos today (20 a day). Try again tomorrow.",
  "marca.error.acento": "Write the colour as #rrggbb (for example, #0f766e).",
  "marca.error.fuente": "Choose a typeface from the list.",
  "marca.color": "Accent colour",
  "marca.color.ayuda": "Buttons, links, active menu item and focus. Status colours (green, amber and red) don't change.",
  "marca.color.reversa": "Use Reversa's colour",
  "marca.color.cumple": "Easy to read in both themes (WCAG AA)",
  "marca.color.ajustado": "We've lightened or darkened your colour slightly where needed so it's easy to read. Buttons use it as is if it already read well.",
  "marca.color.contraste": "{tema} theme: button text {boton}:1 · links {enlaces}:1 · menu {menu}:1",
  "marca.color.rojo": "This colour looks like the red used for alerts. Alerts will still have their icon and text, but they may be harder to tell apart.",
  "marca.fuente": "Typeface",
  "marca.fuente.sistema": "The device's own (the fastest)",
  "marca.fuente.ayuda": "For all dashboard text. Figures and codes stay in a monospaced font.",
  "marca.avisos": "Alerts to your stores",
  "marca.avisos.casilla": "Add the agency's name and logo to the alerts your stores receive",
  "marca.avisos.ayuda": "Each store can remove it from Reversa → Settings → Your agency. If a store is connected to several agencies, its alerts carry no agency branding. Alerts are still sent by Reversa.",
  "marca.vista": "Preview",
  "marca.vista.ayuda": "With sample data. The rest of the dashboard doesn't change until you save.",
  "marca.vista.oscuro": "Dark",
  "marca.vista.claro": "Light",
  "marca.vista.movil": "Mobile",
  "marca.vista.email": "Email",
  "marca.vista.boton": "Primary button",
  "marca.vista.enlace": "A dashboard link",
  "marca.vista.tienda": "Sample store",
  "marca.vista.alerta": "312 products were set to draft",
  "marca.vista.email.titular": "312 products were set to draft on Sample store",
  "marca.guardar": "Save branding",
  "marca.descartar": "Discard changes",
  "marca.restablecer": "Go back to Reversa's design",
  "marca.restablecer.texto": "The logo, colour and typeface will be removed, and alerts to your stores will no longer carry your branding.",
  "marca.restablecer.si": "Yes, go back to Reversa's design",
  "marca.restablecer.no": "No, keep the branding",
  "marca.guardada": "Branding saved.",
  "marca.sin_cambios": "There was nothing to change.",
  "marca.restablecida": "Back to Reversa's design.",
  "marca.descartada": "Changes discarded.",
  "marca.subido": "Logo checked. Review it in the preview and save the branding.",
  "agencia.accion.cambiar_marca": "Changed the branding",
  "agencia.accion.restablecer_marca": "Went back to Reversa's design",
  "agencia.accion.tienda_quita_marca": "The store removed your branding from its alerts",
  "agencia.accion.tienda_pone_marca": "The store put your branding back on its alerts",
  "marca.auditoria.color": "colour {antes} → {despues}",
  "marca.auditoria.logo": "new logo",
  "marca.auditoria.logo_quitado": "logo removed",
  "marca.auditoria.fuente": "typeface: {fuente}",
  "marca.auditoria.avisos.si": "branding on store alerts",
  "marca.auditoria.avisos.no": "no branding on store alerts",
  "ajustes.agencia.marca": "The alerts you receive also carry {agencia}'s name and logo.",
  "ajustes.agencia.marca.quitada": "You've removed {agencia}'s name and logo from your alerts.",
  "ajustes.agencia.marca.quitar": "Remove their branding from my alerts",
  "ajustes.agencia.marca.poner": "Put their branding back",
  "ajustes.agencia.marca.varias": "You're connected to several agencies, so your alerts don't carry any of their branding.",
  "inicio.espera.titulo": "Choose your plan · {dias}-day free trial",
  "inicio.espera.titulo.sin_prueba": "Choose your plan to get started",
  "inicio.espera.texto": "Reversa starts protecting your catalog as soon as you choose a plan: it copies your products and, from then on, records each change so you can undo it.",
  "inicio.espera.prueba": "The {dias}-day free trial starts when you approve the plan in Shopify. If you cancel before it ends, you aren't charged. Shopify shows the trial on its approval screen.",
  "inicio.espera.prueba_usada": "This store has already used its free trial, so billing starts when you approve the plan.",
  "inicio.espera.desarrollo": "Development store: up to 50,000 products, free. Shopify will ask you to approve a test charge; nothing is billed.",
  "inicio.espera.mientras": "Until you choose a plan, Reversa doesn't copy your catalog or record changes.",
  "inicio.espera.boton": "Choose a plan",
  "inicio.acceso.espera.titulo": "Choose a plan to get started",
  "plan.estado.elegir": "You haven't chosen a plan yet. Until you do, Reversa doesn't copy your catalog or record changes. The free trial starts when you approve the plan.",
  "plan.estado.pendiente.primero": "Waiting for the store owner to approve the plan in Shopify. Once it's approved, the free trial starts and Reversa copies your catalog.",
  "plan.espera.arranque": "Once you approve the plan, Reversa copies your catalog (it takes a few minutes) and starts recording changes.",
  "plan.copiando": "Reversa is copying your catalog; it starts recording changes as soon as it's done.",
  "plan.copiando.ver": "See the progress on Home",
  "plan.prueba.ayuda.resto": "{dias, plural, one {# free day left} other {# free days left}}: the new plan keeps them and billing starts when they end.",
  "plan.prueba.usada": "This store has already used its free trial, so billing starts when you approve the plan.",
  "plan.texto.espera": "No plan · not chosen yet",
  "bienvenida.plan.titulo": "Choose your plan",
  "bienvenida.plan.texto": "The 14-day free trial starts when you approve the plan (90 days if your agency is in early access). Without a plan, Reversa doesn't copy your catalog or record changes.",
  "bienvenida.plan.accion": "See the plans",
  "motivo.edicion_masiva.borrados": "{productos} deleted in {minutos} min (typical of «Delete products» in the admin product list or another app)",
  "inicio.alerta.borrados.texto": "{momento} ({antiguedad}). Reversa doesn't recreate deleted products: «See what was deleted» shows which products they were and when they were deleted.",
  "inicio.alerta.ver_borrados": "See what was deleted",
  "detalle.borrados.solo": "Reversa doesn't recreate deleted products. Here you can see which products they were and when they were deleted; if you create one again, Shopify gives it a new ID, so check links and integrations.",
  "detalle.borrados.mezcla": "Deleted products aren't recreated: «Undo» only reverts the rest of the changes.",
  "confirmar.nada.borrados": "There is nothing to undo: Reversa doesn't recreate deleted products. Shopify won't be touched.",
  "aviso.accion.ver_borrados": "See what was deleted",
  "aviso.borrados.solo": "Reversa doesn't recreate deleted products: the link shows which products they were and when they were deleted.",
  "aviso.borrados.mezcla": "Deleted products aren't recreated; the rest can be undone.",
  "plan.desarrollo.limite": "Development store: up to 50,000 products, free",
  "plan.productos.desarrollo": "Products in the store: {productos} · Development store: up to 50,000 products, free",
  "proteccion.estado.historial.desarrollo": "History: {dias} days ({plan} plan) · Development store: up to 50,000 products, free",
  "eventos.filtro.deshechos": "Show what Reversa undid",
  "csv.error.sin_respuesta": "Tell us whether you'll tick «Overwrite» when importing: it changes what we check. If you're not sure, choose «I don't know».",
  "marca.logo.placa.auto.quitada": "Your logo is light: we've turned off the light plate for the dark theme. You can turn it back on.",
  "marca.logo.placa.auto.puesta": "Your logo is dark: we've turned on the light plate for the dark theme so it shows. You can turn it off.",
  "marca.logo.aviso.claro_placa": "Low contrast: in the dark theme, your light logo on the light plate is barely visible. Untick the plate.",
  "marca.logo.aviso.oscuro_sin_placa": "Low contrast: in the dark theme your logo is barely visible. Tick the light plate or upload a version for dark backgrounds.",
  "marca.logo.aviso.claro_tema_claro": "Low contrast: in the light theme and in emails, your light logo on a white background is barely visible. Upload a version for light backgrounds as the logo, and this one as the «Version for dark backgrounds».",
  "comun.copiar": "Copy",
  "comun.copiado": "Copied",
  "comun.copiar.error": "Couldn't copy: select the code and copy it by hand.",
  "exportar.titulo": "Export history",
  "exportar.texto": "One row per changed field, with the value before and after, the probable source and whether it was undone. It also works while recording is paused or without a plan: the history is yours.",
  "exportar.rango": "Period",
  "exportar.rango.7": "Last 7 days",
  "exportar.rango.30": "Last 30 days",
  "exportar.rango.90": "Last 90 days",
  "exportar.rango.todo": "All kept history ({dias} days)",
  "exportar.boton": "Export history (CSV)",
  "exportar.ayuda_excel": "If accents look wrong when you open it in Excel, use Data › From Text/CSV.",
  "exportar.descargando": "Preparing the file. On large stores it can take a minute.",
  "exportar.limite": "You have already exported the history {n} times in the last 24 hours. Try again later.",
  "exportar.toast": "History downloaded",
  "exportar.error": "The history could not be downloaded. Try again.",
  "exportar.si": "Yes",
  "exportar.no": "No",
  "exportar.abrir": "Export history",
  "exportar.cancelar": "Cancel",
  "exportar.formato": "Format",
  "exportar.formato.excel": "Ready for Excel (recommended)",
  "exportar.formato.estandar": "Standard CSV (comma, UTF-8 without BOM)",
  "exportar.avisar.tienda": "If it takes a while, email me when it's ready (to the alert addresses)",
  "exportar.avisar.miembro": "If it takes a while, email me when it's ready",
  "exportar.fondo.encolada": "This is a large history: we're preparing it in the background. You can keep using Reversa; the link will appear here.",
  "exportar.fondo.pendiente": "Preparing the file in the background…",
  "exportar.fondo.progreso": "Preparing the file: {hechas} of {total} rows",
  "exportar.fondo.lista": "The file is ready ({filas} rows). You can download it until {momento}.",
  "exportar.fondo.descargar": "Download (CSV)",
  "exportar.fondo.fallida": "The file could not be prepared. Try again or write to us at {email}.",
  "exportar.fondo.email.asunto": "[Reversa] {tienda}: your history export is ready",
  "exportar.fondo.email.titular": "Your history export for {tienda} is ready: {filas} rows.",
  "exportar.fondo.email.caduca": "You can download it from Reversa for {horas} hours. For security, the file isn't attached to this email.",
  "exportar.fondo.email.accion": "Open Reversa to download it",
  "exportar.descarga.no_valida": "This download link isn't valid or has expired (it lasts 24 hours). Export the history again from Reversa.",
  "exportar.cabecera": "Date (store time)|Date (UTC, ISO 8601)|Event ID|Type|Probable source|Who (if known)|Product or collection|Handle|Product ID|Variant|Variant ID|SKU|Field|Field key|Before|After|Undone|Undone at (store time)",
  "agencia.accion.exportar_historial": "Exported the history",
  "ayuda.faq.exportar.p": "Can I take my history with me?",
  "ayuda.faq.exportar.r": "Yes. In Events, “Export history” downloads the changes from the last 7, 30 or 90 days or everything kept ({dias} days with your plan): date, product, variant, field, value before and after, probable source and whether it was undone. It also works while recording is paused or without a plan, up to 10 times a day.",
  "conflictos.titulo": "{n, plural, one {1 field was} other {# fields were}} changed after {tipo}. What should we do with {n, plural, one {it} other {them}}?",
  "conflictos.etiqueta": "Fields changed afterwards",
  "conflictos.recomendado": "Recommended",
  "conflictos.mantener": "Leave them as they are now",
  "conflictos.mantener.texto": "We only undo what nobody has touched since {tipo}.",
  "conflictos.sobrescribir": "{n, plural, one {Also return that field to its previous value} other {Also return those # to their previous value}}",
  "conflictos.sobrescribir.texto": "The changes made to those fields afterwards will be lost.",
  "conflictos.elegir": "Choose one by one",
  "conflictos.elegir.texto": "{n, plural, one {Opens the list with that field.} other {Opens the list of the # fields.}}",
  "conflictos.no_elegibles": "{n, plural, one {1 of them is still receiving changes: it can't be chosen until they stop.} other {# of them are still receiving changes: they can't be chosen until they stop.}}",
  "conflictos.lista.titulo": "{n, plural, one {This later change will be lost} other {These later changes will be lost (#)}}",
  "conflictos.lista.elegir": "{n, plural, one {1 field changed afterwards} other {# fields changed afterwards}}",
  "conflictos.col.ahora": "Now (will be lost)",
  "conflictos.col.ahora.elegir": "Now",
  "conflictos.col.quien": "Changed afterwards by",
  "conflictos.col.que": "What we do",
  "conflictos.col.seleccion": "Select",
  "conflictos.quien.probable": "{origen} (likely) · {momento}",
  "conflictos.quien.confirmado": "{origen} · {momento}",
  "conflictos.quien.nombre": "{origen} · {nombre} · {momento}",
  "conflictos.sin_registrar": "Unrecorded change (we saw it when reading the store)",
  "conflictos.en_curso": "Changes are still arriving for this field",
  "conflictos.ver_evento": "View the change",
  "origen.sin_registrar": "Unrecorded",
  "origen.en_curso": "Still arriving",
  "conflictos.casilla": "{n, plural, one {I understand this change will be lost. I can put it back with “Put it back the way it was before undoing” while it's still in the history.} other {I understand these # changes will be lost. I can put them back with “Put it back the way it was before undoing” while it's still in the history.}}",
  "conflictos.casilla.falta": "Tick the box to confirm those changes will be lost.",
  "conflictos.boton": "{n, plural, one {Undo {campos} (1 overwritten)} other {Undo {campos} (# overwritten)}}",
  "conflictos.buscar": "Search product or SKU",
  "conflictos.filtro.campo": "Field",
  "conflictos.filtro.quien": "Changed by",
  "conflictos.filtro.todos": "All",
  "conflictos.filtro.aplicar": "Filter",
  "conflictos.campo.imagen": "Images",
  "conflictos.estado.volver": "Return",
  "conflictos.estado.mantener": "Keep",
  "conflictos.accion.volver": "Return to previous value",
  "conflictos.accion.mantener": "Keep",
  "conflictos.marcados": "{n, plural, one {With the selected one:} other {With the # selected:}}",
  "conflictos.seleccionar.pagina": "Select the {n} on this page",
  "conflictos.seleccionar.filtro": "Select the {n} that match the filter",
  "conflictos.seleccionados.filtro": "All {n} that match the filter are selected.",
  "conflictos.seleccion.quitar": "Clear selection",
  "conflictos.elegidos": "You chose to return {elegidos} of {n} to their previous value.",
  "conflictos.vaciar": "Set all to “Keep”",
  "conflictos.pareja": "The price returns but the compare-at price doesn't (or the other way round): the compare-at price could end up below the price.",
  "conflictos.anterior": "Previous",
  "conflictos.siguiente": "Next",
  "conflictos.vacio": "No field matches the filter.",
  "conflictos.otro_evento": "Many fields were changed afterwards: there may be another event you also want to undo (undoing the most recent one first is usually what you want).",
  "conflictos.otro_evento.enlace": "View that event",
  "conflictos.riesgo.titulo": "What's about to be written triggers urgent risk alerts. Check it before confirming.",
  "conflictos.riesgo.linea": "{regla}: {productos}",
  "conflictos.vueltas_programadas": "Scheduled returns leave fields changed afterwards as they are.",
  "conflictos.calculando": "Working out who changed each field…",
  "resultado.sobrescritos": "{n, plural, one {1 of them you returned to the previous value even though it had been changed afterwards.} other {# of them you returned to the previous value even though they had been changed afterwards.}}",
  "resultado.sobrescritos.quien": "{quien} returned {n, plural, one {1 field that had been changed afterwards} other {# fields that had been changed afterwards}} to the previous value.",
  "resultado.cambio_tras_eleccion": "{n, plural, one {1 field changed again after the choice: we left it as it was.} other {# fields changed again after the choice: we left them as they were.}}",
  "resultado.sobrescritos.lista": "Returned to the previous value even though they had been changed afterwards",
  "motivo_plan.sobrescrito_por_eleccion": "Had been changed afterwards; returns to the previous value by choice",
  "motivo_plan.cambio_tras_eleccion": "Changed again after the choice: left as it is",
  "buscar.etiqueta": "Search product, SKU or handle",
  "buscar.ejemplo": "Search product, SKU or handle…",
  "buscar.campo": "Field",
  "buscar.campo.precio": "Price",
  "buscar.campo.precioComparacion": "Compare-at price",
  "buscar.campo.titulo": "Title",
  "buscar.campo.descripcion": "Description",
  "buscar.campo.estado": "Status",
  "buscar.campo.canales": "Channels",
  "buscar.campo.etiquetas": "Tags",
  "buscar.campo.imagenes": "Images",
  "buscar.campo.sku": "SKU",
  "buscar.campo.inventario": "Inventory",
  "buscar.campo.otros": "Other",
  "buscar.fechas": "Dates",
  "buscar.fecha.hoy": "Today",
  "buscar.fecha.7": "7 days",
  "buscar.fecha.30": "30 days",
  "buscar.fecha.todo": "All history",
  "buscar.fecha.personalizado": "Custom",
  "buscar.rango": "Date range",
  "buscar.periodo.hoy": "today",
  "buscar.periodo.7": "in 7 days",
  "buscar.periodo.30": "in 30 days",
  "buscar.periodo.todo": "in all history",
  "buscar.periodo.personalizado": "in those dates",
  "buscar.origen.app": "Another app",
  "buscar.unico": "{titulo} · {n, plural, one {# event} other {# events}} {periodo}",
  "buscar.unico.borrado": "{titulo} (deleted) · {n, plural, one {# event} other {# events}} {periodo}",
  "buscar.total": "{n, plural, one {# event} other {# events}} {periodo}",
  "buscar.nada": "No event touches “{q}” {periodo}.",
  "buscar.nada.filtros": "No events with those filters {periodo}.",
  "buscar.todo_historial": "Search all history",
  "buscar.aviso.corto": "Type at least 3 letters (2 to search for a SKU).",
  "buscar.aviso.muchos_productos": "More than 200 products match “{q}”: you see the events of the first 200. Type more letters to narrow it down.",
  "buscar.aviso.muchos_eventos": "There are many events: you see the 5,000 most recent. Narrow the dates to see the rest.",
  "buscar.aviso.lenta": "The search took too long: narrow the dates or type more letters.",
  "buscar.aviso.limite": "You've run many searches in a minute. Wait a few seconds and try again.",
  "panel.buscar.etiqueta": "Search store, product, SKU or event",
  "panel.buscar.ejemplo": "Search store, product, SKU or event…",
  "panel.buscar.atajo": "Ctrl K",
  "panel.buscar.abrir": "Search",
  "panel.buscar.cerrar": "Close search",
  "panel.buscar.tiendas": "Stores ({n})",
  "panel.buscar.productos": "Products ({n})",
  "panel.buscar.evento": "Event",
  "panel.buscar.ir_evento": "Open the event from {tienda}",
  "panel.buscar.eventos_30": "{n, plural, =0 {no events in 30 days} one {# event in 30 days} other {# events in 30 days}}",
  "panel.buscar.simulada": "{nombre} (simulated)",
  "panel.buscar.ver_todos": "See all results (Enter)",
  "panel.buscar.buscando": "Searching…",
  "panel.buscar.nada": "No results.",
  "panel.buscar.resultados": "{n, plural, one {# result} other {# results}}",
  "panel.buscar.titulo": "Search",
  "panel.buscar.titulo_q": "Results for “{q}”",
  "panel.buscar.sin_copia": "Copy not finished: its products can't be searched yet.",
  "panel.buscar.mas_tiendas": "Products from {n, plural, one {# more store} other {# more stores}} are searched in “See all results”.",
  "panel.buscar.ver_eventos": "See its events",
  "buscar.desde": "From",
  "buscar.hasta": "To",
  "agencia.buscar.borrado": "deleted",
  "panel.buscar.ayuda": "Paste an event link or id to go to it. Shortcuts: Ctrl K or /, arrows, Enter and Esc.",
  "informe.titulo": "Incident report · {tipo} on {momento}",
  "informe.generado": "Report generated on {momento}",
  "informe.que_paso": "What happened",
  "informe.alcance": "It affected {productos} ({campos}).",
  "informe.patron": "What changed: {patron}",
  "informe.riesgos": "Risk alerts triggered: {lista}",
  "informe.origen": "Origin: {origen}",
  "informe.origen.probable": "{origen} (likely)",
  "informe.cronologia": "Timeline (store time, {zona})",
  "informe.cronologia.sin_zona": "Timeline",
  "informe.paso.primer_cambio": "First change recorded",
  "informe.paso.aviso": "Alert sent ({canales})",
  "informe.canal.email": "{n, plural, one {email to # address} other {email to # addresses}}",
  "informe.canal.slack": "Slack",
  "informe.paso.ultimo_cambio": "Last change of the event",
  "informe.paso.revisado": "Marked as reviewed",
  "informe.paso.deshacer_confirmado": "Undo confirmed by {quien}",
  "informe.paso.escritura_terminada": "Writing finished",
  "informe.paso.comprobacion_terminada": "Check finished",
  "informe.paso.vuelto_a_dejar": "Put back the way it was before the undo",
  "informe.detectado.s": "Detected after {n} s",
  "informe.detectado.min": "Detected after {n} min",
  "informe.resuelto": "Resolved in {n} min",
  "informe.que_se_hizo": "What was done",
  "informe.estado.deshecho": "It was undone and checked field by field.",
  "informe.estado.deshecho_diferencias": "It was undone, but the check found fields that did not match.",
  "informe.estado.en_curso": "The undo was in progress when this report was generated.",
  "informe.estado.revisado": "It was not undone: it was marked as reviewed (\"not a mistake\").",
  "informe.estado.sin_deshacer": "It had not been undone when this report was generated.",
  "informe.estado.vuelto_a_dejar": "It was undone and then put back the way it was before the undo.",
  "informe.volvieron": "{n, plural, one {# field returned to its previous value} other {# fields returned to their previous value}} in {productos}.",
  "informe.respetados": "{n, plural, one {# changed afterwards was left as it was.} other {# changed afterwards were left as they were.}}",
  "informe.sobrescritos": "{n, plural, one {# changed afterwards returned to its previous value by choice.} other {# changed afterwards returned to their previous value by choice.}}",
  "informe.cambio_tras_eleccion": "{n, plural, one {# changed again after the choice and was left as it was.} other {# changed again after the choice and were left as they were.}}",
  "informe.inventario": "Inventory was not touched.",
  "informe.comprobacion": "Checked {correctos} of {total} written fields: they match the expected value.",
  "informe.diferencias": "{n, plural, one {# field did not match when checked.} other {# fields did not match when checked.}}",
  "informe.omitidos": "Could not be undone:",
  "informe.afectados": "Affected products and fields",
  "informe.muestra": "Sample ({n} of {total} fields)",
  "informe.col.producto": "Product",
  "informe.col.campo": "Field",
  "informe.col.antes": "Before",
  "informe.col.despues": "After the change",
  "informe.lista_completa": "The full list can be downloaded from Reversa (export the history).",
  "informe.quien": "Who launched it",
  "informe.quien.agencia": "{agencia} (agency)",
  "informe.quien.tienda": "a store user",
  "informe.quien.deshecho": "Undone by {quien}.",
  "informe.quien.revisado": "Marked as reviewed by {quien}.",
  "informe.quien.revisado_sin": "Marked as reviewed.",
  "informe.pie": "Report generated with Reversa from the store's change history. It covers the catalogue changes Shopify reports to Reversa; it does not include orders, customers or the theme. It is a summary of what was recorded, not a certificate.",
  "informe.imprimir": "Print or save as PDF",
  "informe.imprimir.ayuda": "In the print dialog, choose \"Save as PDF\".",
  "informe.novedades": "There is news since this report: open it again from the event to generate a new one.",
  "informe.no_disponible.titulo": "This link is no longer available",
  "informe.no_disponible.texto": "Ask whoever sent it to you for a new one.",
  "informe.boton": "Incident report",
  "informe.pagina.titulo": "Incident report",
  "informe.abrir": "Open to print or save as PDF",
  "informe.abrir.ayuda": "Opens in a new tab, outside Shopify.",
  "informe.abrir.ayuda_panel": "Opens in a new tab, with your agency's branding.",
  "informe.compartir": "Share with a link",
  "informe.compartir.texto": "Anyone with the link can view this report (read-only, no people's emails) until it expires or you revoke it.",
  "informe.caducidad": "Expires in",
  "informe.caducidad.dias": "{n} days",
  "informe.crear_enlace": "Create link",
  "informe.enlace.creado": "Link created. Copy it now: for security we won't show it again.",
  "informe.copiar": "Copy",
  "informe.copiado": "Copied",
  "informe.enlaces": "Shared links",
  "informe.enlaces.vacio": "No active links.",
  "informe.enlace.caduca": "Expires {momento}",
  "informe.enlace.vistas": "{n, plural, one {# view} other {# views}}",
  "informe.enlace.por_agencia": "Created by {agencia} (agency)",
  "informe.enlace.por_tienda": "Created from the store",
  "informe.revocar": "Revoke",
  "informe.revocado": "Link revoked.",
  "informe.limite.informes": "20 reports have already been generated in this store today. More can be generated tomorrow; meanwhile, you see the latest one.",
  "informe.limite.enlaces": "20 links have already been created in this store today. More can be created tomorrow.",
  "informe.foto": "Snapshot taken {momento}: the report and its links show what there was then.",
  "informe.marca.reversa": "With Reversa branding.",
  "informe.marca.agencia": "With {agencia}'s branding.",
  "informe.ver_evento": "View the event",
  "informe.no_encontrado": "We couldn't find this report.",
  "informe.permiso.compartir": "Sharing or revoking links requires the \"Can also undo\" or \"Administrator\" access.",
  "agencia.nav.informes": "Reports",
  "agencia.informes.titulo": "Reports",
  "agencia.informes.texto": "Incident reports your team has generated in your stores, with their shared links.",
  "agencia.informes.vacio": "There are no reports yet. Generate one from an event's detail page.",
  "agencia.informes.col.tienda": "Store",
  "agencia.informes.col.evento": "Event",
  "agencia.informes.col.generado": "Generated",
  "agencia.informes.col.quien": "Who",
  "agencia.informes.col.enlaces": "Links",
  "agencia.informes.filtro.tienda": "Store",
  "agencia.informes.filtro.todas": "All",
  "agencia.informes.filtro.enlaces": "Links",
  "agencia.informes.filtro.con": "With active links",
  "agencia.informes.filtro.sin": "Without active links",
  "agencia.informes.filtrar": "Filter",
  "agencia.informes.enlaces_vigentes": "{n, plural, =0 {No links} one {# active link} other {# active links}}",
  "agencia.accion.generar_informe": "Generated an incident report",
  "agencia.accion.compartir_informe": "Shared a report with a link",
  "agencia.accion.revocar_enlace_informe": "Revoked a report link",
  "ajustes.informes.titulo": "Shared report links",
  "ajustes.informes.texto": "Read-only links to incident reports of your store, created from the app or by your agency. You can revoke them whenever you want.",
  "ajustes.informes.vacio": "No active links.",
  "resumen.periodo.semana": "the week of {fecha}",
  "resumen.estado.deshecho": "undone and checked ({correctos} of {total} fields)",
  "resumen.estado.deshecho.sin_cifras": "undone and checked",
  "resumen.estado.diferencias": "undone with differences ({correctos} of {total} fields match)",
  "resumen.estado.diferencias.sin_cifras": "undone with differences",
  "resumen.estado.en_curso": "being undone",
  "resumen.estado.revisado": "marked as reviewed without undoing",
  "resumen.estado.sin_deshacer": "not undone",
  "resumen.estado.vuelto_a_dejar": "undone and then put back the way it was",
  "resumen.tienda.asunto.incidentes": "Summary for {periodo} · {tienda}: {n, plural, one {1 urgent alert} other {# urgent alerts}}, {cambios} changes recorded",
  "resumen.tienda.asunto": "Summary for {periodo} · {tienda}: no urgent alerts, {cambios} changes recorded",
  "resumen.tienda.titular.mes": "Here's how {periodo} went at {tienda}",
  "resumen.tienda.titular.semana": "Here's how {periodo} went at {tienda}",
  "resumen.rango": "From {desde} to {hasta}, in the store's time zone.",
  "resumen.rango.agencia": "From {desde} to {hasta}, in your agency's time zone.",
  "resumen.tienda.tranquilo.mes": "A quiet month: no urgent alerts and no changes recorded. We're watching {productos} products.",
  "resumen.tienda.tranquilo.semana": "A quiet week: no urgent alerts and no changes recorded. We're watching {productos} products.",
  "resumen.tienda.cambios": "{cambios} changes recorded, grouped into {n, plural, one {1 event} other {# events}}.",
  "resumen.incidentes.titulo": "{n, plural, one {1 urgent alert} other {# urgent alerts}}",
  "resumen.informe": "Report",
  "resumen.incidentes.mas": "and {n, plural, one {1 more} other {# more}} in the events list",
  "resumen.avisos.diario": "{n, plural, one {1 event with non-urgent warnings (already in your daily summary)} other {# events with non-urgent warnings (already in your daily summary)}}",
  "resumen.avisos.app": "{n, plural, one {1 event with non-urgent warnings: see it in the app} other {# events with non-urgent warnings: see them in the app}}",
  "resumen.sin_revisar": "{n, plural, one {1 alert not reviewed} other {# alerts not reviewed}}",
  "resumen.revisar": "Review",
  "resumen.atencion.revision": "the catalog check hasn't run for {n, plural, one {1 day} other {# days}}",
  "resumen.atencion.pausa": "recording is paused (no active plan)",
  "resumen.vueltas": "Scheduled undos: {hechas, plural, one {1 done} other {# done}} · {pendientes, plural, one {1 pending} other {# pending}}",
  "resumen.vueltas.con_proxima": "Scheduled undos: {hechas, plural, one {1 done} other {# done}} · {pendientes, plural, one {1 pending} other {# pending}} (next one: {fecha})",
  "resumen.campos": "What changed most (events): {lista}",
  "resumen.proteccion.revision": "Last catalog check: {fecha}.",
  "resumen.proteccion.historial": "History: {dias} days.",
  "resumen.tienda.pie.mes": "You get this monthly Reversa summary because your address is in the alerts of {tienda}.",
  "resumen.tienda.pie.semana": "You get this weekly Reversa summary because your address is in the alerts of {tienda}.",
  "resumen.tienda.pie.cambiar": "Change how often: Reversa → Protection › Alerts.",
  "resumen.baja": "Stop receiving this summary",
  "resumen.pie.contacto": "Reversa · Contact: {email}",
  "resumen.tienda.accion": "See the events",
  "resumen.agencia.asunto": "Summary for {periodo} · {agencia}: {n, plural, =0 {nothing pending} one {1 store needs attention} other {# stores need attention}}",
  "resumen.agencia.titular": "{agencia} · {periodo}",
  "resumen.agencia.tranquila.mes": "A quiet month across your {n, plural, one {1 store} other {# stores}}: no urgent alerts and nothing pending.",
  "resumen.agencia.tranquila.semana": "A quiet week across your {n, plural, one {1 store} other {# stores}}: no urgent alerts and nothing pending.",
  "resumen.agencia.atencion": "Need attention ({n})",
  "resumen.ver": "View",
  "resumen.agencia.cifras": "{n, plural, one {1 urgent alert} other {# urgent alerts}} · {deshechos} undone and checked · {revisados} marked as reviewed · {eventos, plural, one {1 event} other {# events}}",
  "resumen.agencia.detectado": "median time to alert: {s} s",
  "resumen.agencia.resuelto": "median time to undo and check: {min} min",
  "resumen.agencia.vueltas": "Undos scheduled for this week: {n} ({tiendas, plural, one {1 store} other {# stores}})",
  "resumen.agencia.programadas": "Scheduled",
  "resumen.agencia.periodo.mes": "The month across your {n, plural, one {1 store} other {# stores}}",
  "resumen.agencia.periodo.semana": "The week across your {n, plural, one {1 store} other {# stores}}",
  "resumen.agencia.informes": "Incident reports",
  "resumen.agencia.por_tienda": "Store by store",
  "resumen.agencia.tienda": "{eventos, plural, one {1 event} other {# events}} · {n, plural, =0 {no urgent alerts} one {1 urgent alert} other {# urgent alerts}}",
  "resumen.agencia.pendiente": "needs attention",
  "resumen.agencia.al_dia": "all clear",
  "resumen.agencia.mas_tiendas": "and {n, plural, one {1 more store} other {# more stores}} in the dashboard",
  "resumen.agencia.pie.mes": "You get this monthly Reversa summary because you're a member of {agencia} in the agency dashboard.",
  "resumen.agencia.pie.semana": "You get this weekly Reversa summary because you're a member of {agencia} in the agency dashboard.",
  "resumen.agencia.pie.cambiar": "Change it: agency dashboard → Settings › Your summary.",
  "resumen.agencia.accion": "Open the dashboard",
  "resumen.baja.titulo": "Stop receiving the summary",
  "resumen.baja.tienda": "This address will stop receiving the activity summary for {nombre}. Urgent alerts and the daily summary don't change.",
  "resumen.baja.agencia": "You'll stop receiving the activity summary for {nombre}. The agency's urgent alerts don't change.",
  "resumen.baja.boton": "Stop receiving this summary",
  "resumen.baja.hecho.titulo": "Done: you won't receive this summary any more",
  "resumen.baja.hecho.tienda": "To get it again, ask the store to remove your address from the alerts and add it back in Reversa → Protection.",
  "resumen.baja.hecho.agencia": "To get it again: agency dashboard → Settings › Your summary.",
  "resumen.baja.no_valido.titulo": "This link is no longer valid",
  "resumen.baja.no_valido.texto": "If you keep receiving the summary, write to us at {email}.",
  "resumen.ajuste.titulo": "Activity summary by email",
  "resumen.ajuste.mensual": "Monthly (on the 1st)",
  "resumen.ajuste.semanal": "Weekly (Mondays)",
  "resumen.ajuste.no": "Don't send",
  "resumen.ajuste.texto": "The period's figures, urgent alerts with their outcome and what's pending, sent to the alert addresses at 8:00 store time. It doesn't repeat alerts you already got.",
  "resumen.ajuste.bajas": "{n, plural, one {1 address asked not to receive it} other {# addresses asked not to receive it}}. If you remove an address from the list and add it back, it will get it again.",
  "resumen.miembro.titulo": "Your summary",
  "resumen.miembro.texto": "An email with what needs attention, the period's alerts and your stores one by one, at 8:00 agency time. Each person chooses their own.",
  "resumen.miembro.campo": "Receive the summary",
  "resumen.miembro.semanal": "Weekly (Mondays)",
  "resumen.miembro.mensual": "Monthly (on the 1st)",
  "resumen.miembro.no": "Don't receive it",
  "resumen.miembro.guardado": "Preference saved.",
  "resumen.miembro.equipo": "Who receives it",
  "resumen.miembro.equipo.ayuda": "Each person turns it on or off from their own session.",
  "agencia.ajustes.zona": "Time zone",
  "agencia.ajustes.zona.ayuda": "Decides when the agency summary goes out (8:00 in this zone).",
  "ajustes.aviso_prueba.pasajero": "did not answer in time; please try again in a moment",
  "slack.motivo.archivado": "the channel is archived",
  "slack.motivo.canal": "the channel no longer exists",
  "slack.motivo.webhook": "the webhook was removed or disabled in Slack",
  "slack.motivo.espacio": "the Slack workspace is disabled",
  "slack.motivo.permiso": "Slack does not allow posting to that channel",
  "slack.motivo.otro": "Slack rejected the webhook",
  "slack.desconectado.asunto": "{tienda}: Slack has stopped receiving Reversa alerts",
  "slack.desconectado.titular": "Since {momento}, Slack has not accepted Reversa alerts: {motivo}. We have stopped sending them to Slack.",
  "slack.desconectado.que_hacer": "To get them again, reconnect it in Reversa → Protection → Alerts: “Reconnect” if you used “Add to Slack”, or paste a new incoming webhook and save.",
  "slack.desconectado.email_sigue": "Email alerts still arrive at this address.",
  "proteccion.slack.desconectado": "Slack: disconnected since {momento} ({motivo}). We will not send alerts to Slack until you reconnect it: paste a new webhook and save, or send a test alert.",
  "comun.frase.hoy": "today at {hora}",
  "comun.frase.ayer": "yesterday at {hora}",
  "comun.frase.dia": "on {dia} at {hora}",
  "comun.frase_de.hoy": "from today, {hora}",
  "comun.frase_de.ayer": "from yesterday, {hora}",
  "comun.frase_de.dia": "from {dia}, {hora}",
  "informe.desglose": "Of the {n} fields in the change:",
  "conflictos.col.volveria": "Would return to",
  "conflictos.fila.vuelta": "This field has a scheduled undo on {momento}.",
  "ayuda.buscar.titulo": "Find a change",
  "ayuda.buscar.texto": "In Events, type a product name, SKU or handle in the search box (at least 3 letters, or 2 for a SKU). You can narrow it by field (price, status, images…) and by dates: today, 7 or 30 days, the whole history or dates of your choice. “Clear filters” goes back to the full list.",
  "ayuda.informes.titulo": "Incident report",
  "ayuda.informes.texto": "In the detail of a finished change, “Incident report” builds a one-page summary: what happened and how many products it affected, when it was detected and alerted, what was undone and what was left as it was, and how many fields were checked. “Open to print or save as PDF” opens it in a new tab; in the print dialog, choose “Save as PDF”.",
  "ayuda.informes.compartir": "To send it to someone without access to your store, “Share with a link” creates a read-only link that expires after 7, 30 or 90 days. The link shows no emails or people's names. You can revoke it in the report itself or in Settings → Shared report links, including those created by your agency.",
  "ayuda.informes.no_certificado": "The report summarizes what Reversa recorded about the catalog changes Shopify reports to it; it is not a certificate and does not include orders, customers or the theme.",
  "ayuda.exportar.titulo": "Export the history",
  "ayuda.exportar.texto": "In Events, “Export history” (at the top) lets you pick the period and the format. “Ready for Excel” opens correctly with a double click; “Standard CSV” is for other tools. If the history is very large, we prepare it in the background: you can keep using Reversa, the download link appears in the same window and lasts 24 hours, and if you ask we email you when it is ready (for security, the file is not attached to the email).",
  "bienvenida.se_oculta": "This list will hide itself on {fecha}. You can show it again in Help.",
  "reversion.progreso.tramo": "Preparing: part {hecho} of {total} (reading the store and saving the restore point)",
  "eventos.revision": "Review",
  "detalle.revision.todo": "Found by the catalog review: Shopify's notification did not reach us. The time is when the change happened in Shopify.",
  "detalle.revision.metafields_variante": "Found by the catalog review: Shopify doesn't send notifications for variant metafield changes. The time is when the review ran, not when the change happened.",
  "detalle.revision.parte": "{n, plural, one {# of these changes was found} other {# of these changes were found}} by the catalog review: Shopify didn't notify us about them.",
  "agencia.col.proteccion": "Protection",
  "agencia.proteccion.al_dia": "Up to date",
  "agencia.proteccion.revisando": "Reviewing",
  "agencia.proteccion.sin_revisar": "{n, plural, one {Not reviewed for # day} other {Not reviewed for # days}}",
  "agencia.proteccion.fallida": "Review failed",
  "agencia.proteccion.nunca": "Not reviewed yet",
  "agencia.proteccion.sin_acceso": "No access: Reversa must be opened in the store",
  "agencia.proteccion.ultima": "Last review: {momento}",
  "eventos.filtro.alertas": "Only alerts not reviewed",
  "eventos.filtro.alertas.quitar": "See all events",
  "comun.espera.s": "{n} s",
  "comun.espera.min": "{n} min",
  "comun.espera.h": "{n} h",
  "detalle.aviso.enviado.tras": "We alerted you by {canales} at {hora}, {espera} after the first change.",
  "slack.boton.deshacer": "Undo…",
  "slack.boton.ver_evento": "View event",
  "slack.boton.informe": "Report",
  "slack.boton.ver_borrados": "See what was deleted",
  "slack.campo.detectado": "Detected",
  "slack.campo.duracion": "Duration",
  "slack.campo.duracion.valor": "{minutos} min",
  "slack.campo.origen": "Probable source",
  "slack.campo.origen.confirmado": "Source",
  "slack.contexto.reversa": "Reversa · Change the alerts: Protection → Alerts",
  "slack.resumen.ver": "Open in Reversa",
  "slack.oauth.conectado.titulo": "Slack connected",
  "slack.oauth.conectado.texto": "Done: Reversa alerts will go to #{canal} in {espacio}.",
  "slack.oauth.cerrar": "You can close this tab and go back to Reversa.",
  "slack.oauth.volver": "Back to Reversa",
  "slack.oauth.cancelado.titulo": "Slack was not connected",
  "slack.oauth.cancelado.texto": "You cancelled in Slack. Nothing has changed: you can try again from Reversa → Protection → Alerts.",
  "slack.oauth.caducado.titulo": "This link is no longer valid",
  "slack.oauth.caducado.texto": "The link has already been used or has expired (it lasts 10 minutes). Go back to Reversa → Protection → Alerts and click “Add to Slack” again.",
  "slack.oauth.fallo.titulo": "Slack could not be connected",
  "slack.oauth.fallo.texto": "Slack did not complete the connection and nothing has changed. Try again in a few minutes; if it keeps failing, write to us.",
  "slack.oauth.sin_config.titulo": "“Add to Slack” is not available",
  "slack.oauth.sin_config.texto": "You can connect Slack by pasting an incoming webhook URL in Reversa → Protection → Alerts.",
  "slack.oauth.limite.titulo": "Too many attempts",
  "slack.oauth.limite.texto": "Wait a minute and try again.",
  "proteccion.slack.titulo": "Slack",
  "proteccion.slack.anadir": "Add to Slack",
  "proteccion.slack.anadir.texto": "Slack opens in a new tab: choose the channel and click “Allow”. Reversa only asks for permission to post in that channel; it does not read your messages or channels.",
  "proteccion.slack.otra_forma": "Another way to connect it (webhook URL)",
  "proteccion.slack.conectado": "Connected to #{canal} in {espacio}",
  "proteccion.slack.cambiar": "Change channel",
  "proteccion.slack.reconectar": "Reconnect",
  "proteccion.slack.desconectar": "Disconnect",
  "proteccion.slack.desconectado.oauth": "Slack: disconnected since {momento} ({motivo}). We will not send alerts to Slack until you click “Reconnect” and choose the channel.",
  "proteccion.slack.quitado": "Slack disconnected",
  "proteccion.slack.resumenes": "Also send the summaries to Slack",
  "proteccion.slack.resumenes.texto": "The daily alert summary and the periodic summary will also go to Slack. Urgent alerts go to Slack even when this is off.",
  "riesgo.resumen.linea.slack": "{momento} · {titulo}",
  "riesgo.resumen.mas": "And {n} more in Reversa."
}
