import { FireCMSTranslations } from "../types/translations";

/**
 * Spanish baseline translations for @firecms/core.
 *
 * This is the single source of truth for all default UI strings in Spanish.
 * Override any key via the `translations` prop on FireCMS entry-point components.
 *
 * @group Core
 */
export const es: FireCMSTranslations = {
    // ─── Form actions ────────────────────────────────────────────
    save: "Guardar",
    create: "Crear",
    create_copy: "Crear copia",
    save_and_close: "Guardar y cerrar",
    create_copy_and_close: "Crear copia y cerrar",
    create_and_close: "Crear y cerrar",
    discard: "Descartar",
    clear: "Limpiar",
    cancel: "Cancelar",

    // ─── Entity actions ──────────────────────────────────────────
    edit: "Editar",
    copy: "Copiar",
    delete: "Eliminar",

    // ─── Delete dialog ───────────────────────────────────────────
    delete_confirmation_title: "¿Eliminar?",
    delete_confirmation_body: "Esto eliminará la entidad. ¿Estás seguro?",
    delete_multiple_confirmation_body: "Esto eliminará las entidades seleccionadas. ¿Estás seguro?",

    // ─── Unsaved-changes dialog ───────────────────────────────────
    unsaved_changes_title: "Cambios sin guardar",
    unsaved_changes_body: "Tienes cambios sin guardar. ¿Quieres descartarlos?",
    discard_changes: "Descartar cambios",
    keep_editing: "Seguir editando",

    // ─── Collection table / toolbar ──────────────────────────────
    search: "Buscar",
    find_by_id: "Buscar por ID",
    find_entity_by_id: "Buscar entidad por ID",
    filter: "Filtrar",
    filters: "Filtros",
    clear_filter: "Borrar filtro",
    clear_filter_sort: "Borrar filtro/orden",
    clear_sort: "Borrar orden",
    no_items: "Sin elementos",
    no_entries_found: "No se encontraron entradas",
    all_entries_loaded: "Todas las {{count}} entradas cargadas",
    create_your_first_entry: "Crea tu primera entrada",
    no_results_filter_sort: "No hay resultados con el filtro/orden aplicado",
    add: "Añadir",
    remove: "Quitar",
    multiple_entities: "Múltiples entidades",
    unsaved_changes: "Tienes cambios sin guardar en esta colección {{collectionName}}.",
    so_empty: "Tan vacío...",
    no_results: "No hay resultados con el filtro/orden aplicado",
    refresh_data: "Actualizar datos",
    dark_mode: "Oscuro",
    light_mode: "Claro",
    system_mode: "Sistema",
    ok: "Aceptar",
    save_collection_config: "Guardar la estructura de la colección",
    search_for_more_icons: "Buscar más iconos…",
    ai_modified: "Modificado por IA",
    size_label: "Tamaño",
    group_by: "Agrupar por",
    initialize_kanban_order: "Inicializar el orden para Kanban",
    copy_id: "Copiar ID",
    add_specific: "Añadir {{name}}",
    select_specific: "Seleccionar {{name}}",
    select_from: "Seleccionar de {{name}}",
    done: "Hecho",
    log_out: "Cerrar sesión",
    license_needed: "Licencia necesaria",
    license_description: "Necesitas una licencia válida para usar FireCMS PRO. Por favor, contáctanos en {{email}} para obtener más información.",
    column_cannot_be_edited: "Esta columna no se puede editar directamente",
    close: "Cerrar",
    unsaved_local_changes: "Cambios locales sin guardar",
    unsaved_local_changes_description: "Este documento ha sido editado localmente y tiene cambios sin guardar. Estos cambios locales se perderán si no los aplicas.",
    preview_changes: "Previsualizar cambios",
    apply_changes: "Aplicar cambios",
    discard_local_changes: "Descartar cambios locales",
    preview_local_changes: "Previsualizar cambios locales",
    preview_local_changes_description: "Estos son los cambios locales que se aplicarán al formulario.",
    type: "Tipo",
    string: "cadena",
    number: "número",
    boolean: "booleano",
    date: "fecha",
    map: "mapa",
    array: "lista",
    arrays_of_arrays_not_supported: "Las listas de listas no están soportadas.",
    data_type_not_supported: "Tipo de datos {{dataType}} no soportado aún",
    passkey_error_unsupported: "Tu dispositivo o navegador no soporta passkeys.",

    admin: "Admin",
    home: "Inicio",
    this_form_has_errors: "Este formulario tiene errores",
    error_loading_navigation: "Error cargando la navegación",
    error_loading_auth: "Error cargando la autenticación",
    this_form_has_been_modified: "Este formulario ha sido modificado",
    current_form_in_sync: "El formulario actual está sincronizado con la base de datos",
    unexpected_value: "Valor inesperado",
    unexpected_value_click_to_edit: "Valor inesperado. Haz clic para editar",
    unexpected_reference_value: "Valor de referencia inesperado. Haz clic para editar",
    copy_url_to_clipboard: "Copiar URL al portapapeles",
    open_image_in_new_tab: "Abrir imagen en una nueva pestaña",
    reference_not_set: "Referencia no establecida",
    reference_does_not_exist: "La referencia no existe",
    entity_not_found: "Entidad no encontrada",
    file_not_found: "Archivo no encontrado",
    unsaved_changes_in_entity: "Tienes cambios sin guardar en esta entidad.",
    delete_this_role: "Eliminar este rol",
    no_roles_yet: "Aún no tienes roles.",
    create_default_roles: "Crear roles por defecto",
    delete_role_confirmation: "¿Estás seguro de que quieres eliminar este rol?",
    delete_this_user: "Eliminar este usuario",
    no_users_yet: "Aún no hay usuarios",
    add_logged_user_as_admin: "Añadir al usuario autenticado como administrador",
    add_current_user_as_admin: "Añadir usuario actual como administrador",
    create_default_roles_and_add_admin: "Crear roles por defecto y añadir usuario actual como administrador",
    delete_user_confirmation: "¿Estás seguro de que quieres eliminar a este usuario?",
    create_your_users_and_roles: "Crea tus usuarios y roles",
    no_users_or_roles_defined: "No tienes usuarios ni roles. Puedes crear los roles por defecto y añadirte a ti mismo como administrador.",
    save_before_changing_schema: "Debes guardar el documento antes de cambiar el esquema",
    edit_schema_for_this_form: "Editar esquema para este formulario",
    no_permissions_to_edit_collection: "No tienes permisos para editar esta colección",
    browser_does_not_support_audio: "Tu navegador no soporta el elemento de audio.",
    user_not_found: "Usuario no encontrado: {{value}}",

    // ─── Collection view actions ──────────────────────────────────
    delete_selected: "Eliminar",
    cannot_delete_selected: "Has seleccionado al menos una entidad que no puedes eliminar",

    // ─── Array / field containers ─────────────────────────────────
    add_entry: "Añadir",
    add_on_top: "Añadir arriba",
    add_below: "Añadir debajo",
    add_to_field: "Añadir a {{fieldName}}",
    value: "Valor",
    key: "Clave",
    drag_drop_multiple: "Arrastra y suelta algunos archivos aquí, o haz clic para seleccionar archivos. Arrastra para reordenar.",
    drag_drop_single: "Arrastra y suelta un archivo aquí, o haz clic para seleccionar uno",

    // ─── Navigation / scaffold ────────────────────────────────────
    open_menu: "Abrir menú",
    close_drawer: "Cerrar panel",
    navigation_drawer: "Panel de navegación",

    // ─── Error states ─────────────────────────────────────────────
    error: "Error",
    error_uploading_file: "Error al subir archivo",
    error_deleting: "Error al eliminar",
    error_before_delete: "Error antes de eliminar",
    error_updating_asset: "Error al actualizar recurso",
    error_deleting_asset: "Error al eliminar recurso",
    error_firestore_index: "Se requiere un índice de Firestore para esta consulta.",
    create_index: "Crear índice",
    value_is_not_reference: "El valor no es una referencia.",
    click_to_edit: "Haz clic para editar",
    data_is_not_array_of_references: "Los datos no son un array de referencias",
    collection_does_not_exist: "La colección especificada no existe. Revisa la consola",

    // ─── Misc ─────────────────────────────────────────────────────
    loading: "Cargando",
    local_changes_applied: "Cambios locales aplicados al formulario",
    local_changes_discarded: "Cambios locales descartados",
    open_in_console: "Abrir en consola",
    see_console_details: "Consulta la consola para más detalles.",
    drop_here_create_group: "Suelta aquí para crear un nuevo grupo",
    filter_for_null_values: "Filtrar por valores nulos",
    value_updated_elsewhere: "Este valor ha sido actualizado en otro lugar",
    add_property: "Añadir propiedad",
    edit_name: "Editar {{name}}",
    this_entity_not_exist: "Esta entidad no existe en la base de datos",
    internal_error: "ERROR Interno",
    are_you_sure_leave: "¿Estás seguro de que quieres salir de esta página?",

    // ─── Rename group dialog ──────────────────────────────────────
    rename_group: "Renombrar grupo",
    group_name_label: "Nombre del grupo",
    group_name_empty_error: "El nombre del grupo no puede estar vacío.",
    group_name_exists_error: "Este nombre de grupo ya existe.",

    // ─── Search ───────────────────────────────────────────────────
    search_collections: "Buscar colecciones",

    // ─── Navigation groups ────────────────────────────────────────
    views_group: "Vistas",

    // ─── Entity Edit View ─────────────────────────────────────────
    youd_need_to_save_before_additional_collections: "Debes guardar la entidad antes de añadir colecciones adicionales",

    // ─── Not Found Page ───────────────────────────────────────────
    page_not_found: "Página no encontrada",
    page_not_found_body: "Esta página no existe o podrías no tener acceso a ella",
    back_to_home: "Volver al inicio",

    // ─── Collection Editor ─────────────────────────────────────────
    default_collection_view: "Vista por defecto de la colección",
    table_view: "Tabla",
    cards_view: "Tarjetas",
    kanban_view: "Kanban",
    choose_how_entities_displayed_default: "Elige cómo se deben mostrar por defecto las entidades",

    document_view: "Vista de documento",
    side_panel: "Panel lateral",
    full_screen: "Pantalla completa",
    should_documents_opened_full_screen: "¿Quieres que los documentos se abran en pantalla completa o en un panel lateral?",

    select_custom_view: "Seleccionar vista personalizada",
    no_custom_views_defined: "No hay vistas personalizadas definidas. Define tus vistas en los ajustes de personalización, antes de usar este diálogo.",

    select_custom_action: "Seleccionar acción personalizada",
    no_custom_actions_defined: "No hay acciones personalizadas definidas. Define tus acciones en los ajustes de personalización, antes de usar este diálogo.",

    no_collections_found: "No se encontraron colecciones",
    start_building_collections: "Empieza a crear colecciones en FireCMS fácilmente. Mapea la información a tu base de datos existente, importa desde archivos o utiliza nuestras plantillas.",
    create_first_collection: "Crea tu primera colección",
    define_collections_programmatically: "También puedes definir colecciones programáticamente.",
    edit_collection: "Editar colección",
    no_permissions_edit_collection: "No tienes permisos para editar esta colección",
    no_permissions_create_collection: "No tienes permisos para crear colecciones",
    create_collection: "Crear colección",
    update_collection: "Actualizar colección",

    new_collection: "Nueva colección",
    add_new_collection: "Añadir nueva colección",
    collection_with_name: "Colección {{name}}",
    change_icon: "Cambiar icono",
    is_subcollection_of: "Esta es una subcolección de",
    name: "Nombre",
    collection_name_description: "Nombre de esta colección (usualmente un nombre en plural, ej. 'Productos')",
    path: "Ruta",
    relative_path_to_parent: "Ruta relativa al nivel superior (no es necesario incluir la ruta padre)",
    path_in_database: "La ruta donde está almacenada esta colección en la base de datos",
    singular_name: "Nombre en singular",
    singular_name_description: "Opcionalmente define un nombre en singular para tus entidades",
    description: "Descripción",
    description_of_collection: "Descripción de la colección, puedes usar markdown",
    collection_id: "ID de la Colección",
    collection_id_description: "Este ID identifica a esta colección. Típicamente es el mismo que la ruta.",
    collection_group: "Grupo de colección",
    collection_group_description: "Un grupo de colección consiste en todas las colecciones con la misma ruta. Esto te permite realizar consultas sobre múltiples colecciones a la vez.",
    advanced_settings: "Ajustes avanzados",
    doc_history_global: "Historial de revisiones de documentos habilitado si está activado globalmente",
    doc_history_enabled: "Historial de revisiones de documentos HABILITADO",
    doc_history_not_enabled: "Historial de revisiones de documentos NO habilitado",
    doc_history_description: "Al estar habilitado, cada documento de esta colección tendrá un registro de cambios. Esto es útil para fines de auditoría. Los datos se almacenan en una subcolección del documento en tu base de datos __history.",
    document_id_generation: "Generación de IDs de documentos",
    code_defined: "Definido por código",
    users_must_define_id: "Los usuarios deben definir un ID",
    users_can_define_id: "Los usuarios pueden definir un ID, pero no es obligatorio",
    doc_id_auto_generated: "El ID del documento se genera automáticamente",
    config_doc_id_generation: "Configura cómo se generan los IDs de los documentos al crear nuevas entidades.",
    enable_text_search: "Habilitar búsqueda de texto para esta colección",
    text_search_description: "Permite buscar texto en esta colección. Si no has especificado un mecanismo de búsqueda de texto, utilizará la búsqueda local incorporada. Esto no se recomienda para colecciones grandes, ya que puede incidir en el rendimiento.",
    database_id: "ID de la base de datos",
    default_text: "(por defecto)",

    custom_actions: "Acciones personalizadas",
    more_info: "Más información",
    define_custom_actions_cli: "Define tus propias acciones personalizadas subiéndolas con la CLI.",
    action_defined_in_code: "Esta acción está definida en el código con la clave",
    add_custom_entity_action: "Añadir acción personalizada de entidad",
    remove_this_action: "¿Eliminar esta acción?",
    remove_action_warning: "Esto no eliminará ningún dato, sólo se retirará del CMS",

    subcollections_of: "Subcolecciones de",
    add_subcollection: "Añadir subcolección",
    custom_views: "Vistas personalizadas",
    define_custom_views_cli: "Define tus propias vistas personalizadas subiéndolas con la CLI.",
    view_defined_in_code: "Esta vista se define en el código con la clave",
    add_custom_entity_view: "Añadir vista de entidad personalizada",
    delete_this_subcollection: "¿Eliminar esta subcolección?",
    remove_collection_warning: "Esto no eliminará ningún dato, sólo la colección en el CMS",
    remove_this_view: "¿Eliminar esta vista?",
    remove_view_warning: "Esto no eliminará ningún dato, sólo la vista en el CMS",

    no_collection_selected: "Ninguna colección seleccionada",
    code_for_collection: "Código para",
    use_config_define_json: "Usa esta configuración para definir la colección en formato JSON.",
    customise_collection_code: "Si deseas personalizar la colección en código, puedes añadir este código a la configuración de tu aplicación de CMS.",
    copied: "Copiado",

    property_cant_be_edited: "Esta propiedad no se puede editar",
    property_not_editable_description: "Puede que no tengas permisos para editarla o que esté definida en código como no editable.",
    delete_this_property: "¿Eliminar esta propiedad?",
    delete_property_warning: "Esto no eliminará datos, sólo modificará la configuración de la colección.",
    error_must_specify_id: "Debes especificar un id para el campo",
    error_id_format: "El id sólo puede contener letras, números y guiones bajos (_), y no puede empezar con un número",
    error_id_already_exists: "Ya existe otro campo con este ID",
    error_must_specify_title: "Debes especificar un título para el campo",
    custom_or_other: "Personalizado/Otro",
    select_property_widget: "Selecciona un widget de propiedad",
    error_changing_data_type: "Este widget utiliza un tipo de dato diferente al seleccionado inicialmente. Esto puede generar errores con los datos existentes.",
    required: "Requerido",

    enum_form_dialog: "Diálogo de formulario Enum",
    imported_data_preview: "Vista previa de datos importados",
    entities_with_same_id_overwritten: "Las entidades con el mismo id se sobrescribirán",
    collection_editor: "Editor de colecciones",
    properties_in_this_group: "Propiedades en este grupo",
    data_property_mapping: "Mapeo de propiedades",
    property_edit_view: "Vista de edición de propiedad",
    all_of_these: "Todos estos",
    any_of_these: "Cualquiera de estos",

    only_admins_edit_roles: "Sólo los administradores pueden editar roles",
    error_user_not_found: "Usuario no encontrado",
    role: "Rol",
    name_of_this_role: "Nombre del rol",
    id_of_this_role: "ID del rol",
    create_entities: "Crear entidades",
    read_entities: "Leer entidades",
    update_entities: "Actualizar entidades",
    delete_entities: "Eliminar entidades",
    all_collections: "Todas las colecciones",
    create_entities_in_collections: "Crear entidades en colecciones",
    access_all_data_in_every_collection: "Acceder a todos los datos en cada colección",
    update_data_in_any_collection: "Actualizar datos en cualquier colección",
    delete_data_in_any_collection: "Eliminar datos en cualquier colección",
    allow_all_permissions_in_this_collections: "Permitir todos los permisos en estas colecciones",
    all: "Todo",
    customise_permissions_description: "Puedes personalizar los permisos de los usuarios para este rol en cada colección",
    create_collections: "Crear colecciones",
    yes: "Sí",
    no: "No",
    can_user_create_collections: "¿Puede el usuario crear colecciones?",
    edit_collections: "Editar colecciones",
    only_own_collections: "Sólo las propias",
    own: "Propias",
    can_user_edit_collections: "¿Puede el usuario editar colecciones?",
    delete_collections: "Eliminar colecciones",
    can_user_delete_collections: "¿Puede el usuario eliminar colecciones?",
    error_saving_role: "Hubo un error al guardar este rol",
    create_role: "Crear rol",
    update: "Actualizar",

    only_admins_change_roles: "Sólo los administradores pueden cambiar roles",
    must_be_at_least_one_admin: "Tiene que haber al menos un administrador",
    logged_user_not_found: "Usuario autenticado no encontrado",
    user: "Usuario",
    user_id: "ID del usuario",
    name_of_this_user: "Nombre de este usuario",
    email_of_this_user: "Correo electrónico de este usuario",
    roles: "Roles",
    create_user: "Crear usuario",

    users: "Usuarios",
    add_user: "Añadir usuario",
    add_role: "Añadir rol",
    is_admin: "Es Administrador",
    default_permissions: "Permisos predeterminados",
    created_on: "Creado en",
    email: "Email",
    id: "ID",
    read: "Leer",

    column_in_file: "Columna en el archivo",
    map_to_property: "Mapear a Propiedad",
    default_values: "Valores por defecto",
    default_values_description: "Puedes seleccionar un valor por defecto para columnas no mapeadas o valores en blanco:",
    property: "Propiedad",
    default_value: "Valor predeterminado",
    autogenerate_id: "Autogenerar ID",
    id_column_description: "Columna que se utilizará como ID de cada documento",
    do_not_set_value: "No asignar valor",
    set_value_to_true: "Asignar valor verdadero (true)",
    set_value_to_false: "Asignar valor falso (false)",
    drag_and_drop_file: "Arrastra y suelta un archivo aquí, o haz clic para subirlo",
    error_saving_data: "Error al guardar los datos",
    retry: "Reintentar",
    saving_data: "Guardando datos",
    entities_saved: "entidades guardadas",
    do_not_close_tab: "No cierres esta pestaña o se interrumpirá la importación",
    import: "Importar",
    import_data: "Importar datos",
    upload_file_description: "Sube un archivo CSV, Excel o JSON y mapéalo a tu esquema actual",
    back: "Atrás",
    next: "Siguiente",
    save_data: "Guardar datos",
    use_column_as_id: "Usar esta columna como ID",
    do_not_import_property: "No importar esta propiedad",
    entities_will_be_overwritten: "Las entidades con el mismo ID se sobrescribirán",
    data_imported_successfully: "Datos importados correctamente",
    export: "Exportar",
    export_data: "Exportar datos",
    download_table_csv: "Descargar el contenido de esta tabla como CSV",
    csv: "CSV",
    json: "JSON",
    dates_as_timestamps: "Fechas como marcas de tiempo (timestamps)",
    dates_as_strings: "Fechas como cadenas (strings)",
    flatten_arrays: "Aplanar arrays",
    download: "Descargar",
    large_number_of_documents: "Esta colección posee un gran número de documentos ({{count}}).",
    include_undefined_values: "Incluir valores omitidos (undefined)",
    submit: "Enviar",

    no_filterable_properties: "No hay propiedades filtrables disponibles",
    apply_filters: "Aplicar filtros",
    list: "Lista",
    cards: "Tarjetas",
    board: "Tablero",
    initialize_kanban_order_desc: "Esto asignará valores secuenciales para todos los elementos sin ordenación. Los elementos mantendrán su orden actual en cada columna.",
    kanban_view_not_available: "La vista Kanban no está disponible",
    kanban_view_requires_enum: "La vista Kanban requiere una propiedad de tipo texto con opciones (enum) para poder agrupar. Por favor, asegúrate de añadir una propiedad de este tipo a la colección para utilizar esta vista.",
    no_enum_values_configured: 'No hay opciones (enum) configuradas para la propiedad "{{property}}"',
    items_need_backfill: "Existen elementos sin valores de ordenación. Inicialízalos para habilitar la reorganización con arrastrar y soltar.",
    initialize: "Inicializar",
    confirm_multiple_delete: "¿Confirmar eliminación múltiple?",
    delete_entity_confirm_title: "¿Confirmas que quieres borrar el elemento '{{entityName}}'?",

    /** Recently extracted strings for collection editor */
    /** AI Collection Generator Popover */
    generate_collection_with_ai: "Generar colección con IA",
    modify_collection_with_ai: "Modificar colección con IA",
    describe_collection_to_create: "Describe la colección que quieres crear.",
    describe_changes_to_make: "Describe los cambios que quieres hacer en esta colección.",
    ai_placeholder_create: "p. ej., Crear una colección de productos con nombre, precio, descripción y categoría...",
    ai_placeholder_modify: "p. ej., Agregar un campo de imagen en miniatura con almacenamiento, hacer el precio obligatorio...",
    ai_assist: "Asistente IA",
    generating: "Generando...",

    this_is_subcollection_of: "Esta es una subcolección de",
    use_existing_paths_database: "Usa una de las rutas existentes en tu base de datos:",
    describe_collection_ai: "Describe tu colección a la IA:",
    generate_with_ai: "Generar con IA",
    create_from_json_config: "Crear desde configuración JSON:",
    paste_json_config: "Pegar configuración JSON",
    create_collection_from_file_formats: "Crear una colección desde un archivo (csv, json, xls, xslx...)",
    select_template: "Seleccionar una plantilla:",
    products: "Productos",
    collection_products_subtitle: "Una colección de productos con imágenes, precios y existencias",
    collection_users_subtitle: "Una colección de usuarios con correos electrónicos, nombres y roles",
    blog_posts: "Entradas de blog",
    collection_blog_posts_subtitle: "Una colección de artículos con imágenes, autores y contenido complejo",
    pages: "Páginas",
    collection_pages_subtitle: "Una colección de páginas con imágenes, autores y contenido complejo",
    continue_from_scratch: "Continuar desde cero",

    /** Admin views config */
    cms_users: "Usuarios del CMS",
    roles_menu: "Roles",
    project_settings: "Ajustes del proyecto",

    // ─── FireCMS Cloud Login ──────────────────────────────────────
    build_admin_panel_in_minutes: "Crea tu panel de administración de Firebase en minutos",
    go_live_instantly: "En vivo al instante:",
    create_production_ready_back_offices: "Crea back-offices listos para producción",
    without_the_frontend_hassle: "sin complicaciones de frontend.",
    automatic_setup: "Configuración automática",
    from_your_existing_firestore_data: "desde tus datos existentes en Firestore.",
    seamless_real_time_firebase_integration: "Integración perfecta y en tiempo real con Firebase.",
    intuitive_spreadsheet_like_ui: "Interfaz intuitiva tipo hoja de cálculo",
    your_whole_team_can_use: "que todo tu equipo puede usar.",
    focus_on_your_app: "Concéntrate en tu app,",
    not_the_admin_panel: "no en el panel de administración.",
    join_our_newsletter: "Únete a nuestro newsletter. ¡Sin spam, solo actualizaciones importantes!",
    by_signing_in_you_agree_to_our: "Al iniciar sesión aceptas nuestros",
    terms_and_conditions: "Términos y Condiciones",
    and_our: "y nuestra",
    privacy_policy: "Política de Privacidad",
    firecms_cloud_google_disclosure: "El uso y transferencia a cualquier otra aplicación de la información recibida de las API de Google por parte de FireCMS Cloud se adherirá a la",
    google_api_services_user_data_policy: "Política de datos de usuario de los servicios API de Google",
    including_the_limited_use_requirements: "incluyendo los requisitos de Uso Limitado.",
    email_password: "Email/Contraseña",
    sign_in_with_google: "Iniciar sesión con Google",

    // --- Auth error messages ---
    auth_user_not_found: "Usuario no encontrado",
    auth_wrong_password: "Contraseña incorrecta. Por favor, inténtalo de nuevo.",
    auth_user_disabled: "Usuario deshabilitado. Por favor, contacta con soporte.",
    auth_account_exists_with_different_credential: "Ya existe una cuenta con un método de inicio de sesión diferente",
    auth_email_already_in_use: "El correo electrónico ya está en uso",
    auth_google_permissions_required: "Necesitas conceder permisos adicionales para gestionar tus proyectos de Google Cloud",
    auth_invalid_email_password: "Por favor introduce tanto el correo electrónico como la contraseña",
    auth_enter_email_first: "Por favor introduce tu correo electrónico primero",
    auth_password_reset_sent: "Correo electrónico de restablecimiento de contraseña enviado",
    auth_sign_in_account: "Inicia sesión en tu cuenta",
    auth_create_new_account: "Crea una cuenta nueva",
    auth_password: "Contraseña",
    auth_reset_password: "Restablecer contraseña",
    auth_new_user: "¿Usuario nuevo?",
    auth_have_account: "¿Tienes una cuenta?",
    auth_sign_in: "Iniciar Sesión",
    auth_sign_up: "Regístrate",

    // --- SaaS Subscriptions ---
    subscriptions: "Suscripciones",
    manage_your_subscriptions_in_stripe: "Administra tus suscripciones en Stripe",
    go_to_your_stripe_portal: "Consulta tu portal de usuario de Stripe para ver el historial de facturación. Ten en cuenta que también puedes gestionar las suscripciones asociadas al usuario conectado.",
    your_pro_licenses: "Tus licencias PRO",
    create_new_license: "Crear nueva licencia",
    create_subscriptions_in_this_section: "Crea suscripciones en esta sección solo para FireCMS PRO auto-alojado. Si utilizas FireCMS Cloud, puedes cambiar de plan desde la configuración del proyecto.",
    if_you_are_an_agency: "Si eres una agencia, eres libre de revender tu licencia a tus clientes.",
    if_you_have_any_questions: "Si tienes alguna pregunta o necesitas ayuda, contáctanos en",
    you_have_not_created_any_pro_licenses: "Aún no has creado ninguna licencia FireCMS PRO",
    archive: "Archivar",
    licensed_projects_lowercase: "proyectos licenciados",
    manage: "Administrar",
    update_payment_method: "Actualizar método de pago",
    your_firecms_cloud_projects: "Tus proyectos de FireCMS Cloud",
    status_active: "Activo",
    status_trialing: "En prueba",
    status_past_due: "Vencido",
    status_canceled: "Cancelado",
    status_unpaid: "No pagado",
    status_incomplete: "Incompleto",
    status_incomplete_expired: "Incompleto expirado",
    status_unknown: "Desconocido",

    plan_free: "Sin suscripción",
    plan_cloud_plus: "Suscrito",
    plan_pro: "Pro",
    plan_unknown: "Plan desconocido",

    auto_setup_collections_button: "Configurar colecciones automáticamente",
    auto_setup_collections_title: "¿Configurar colecciones automáticamente?",
    auto_setup_collections_desc: "Esto creará automáticamente la configuración de las colecciones que <b>NO</b> estén mapeadas",
    this_can_take_a_minute: "Esto puede tardar un minuto o dos",
    no_collections_found_to_setup: "No se encontraron colecciones para configurar",
    collections_have_been_setup: "¡Tus colecciones han sido configuradas!",
    error_setting_up_collections: "Error al configurar colecciones",

    // --- Home Suggestions ---
    add_your: "Añade tus",
    database_collections: "colecciones de base de datos",
    to_firecms: "a FireCMS",
    no_unmapped_collections: "No hay colecciones sin mapear en la base de datos",
    query_and_update_with_datatalk: "Consulta y actualiza tus datos en lenguaje natural con",

    // --- SaaS Welcome ---
    welcome_to_firecms: "Bienvenido a FireCMS Cloud",
    admin_panel_ready_bring_data: "Tu panel de administración está listo. Traigamos tus datos.",
    admin_panel_ready_get_started: "Tu panel de administración está listo. Así es como puedes empezar.",
    auto_detect_collections: "Autodetectar colecciones",
    auto_detect_collections_desc: "Deja que la IA escanee tu base de datos y genere esquemas de colección automáticamente.",
    create_a_collection: "Crear una colección",
    create_collection_desc: "Define manualmente tu primera colección desde cero usando el editor visual.",
    read_the_docs: "Consulta la documentación",
    read_the_docs_desc: "Aprende cómo personalizar campos, vistas, acciones y más.",
    explore_docs: "Explorar la documentación",
    want_to_customize_with_code: "¿Quieres personalizar con código? Ejecuta",
    to_scaffold_a_local_project: "para crear un proyecto local.",

    // ─── Collection Editor — Validation ──────────────────────────
    validation: "Validación",
    unique: "Único",
    required_message: "Mensaje de campo obligatorio",
    required_tooltip: "No podrás guardar esta entidad si este valor no está establecido",
    unique_tooltip: "No puede haber múltiples entidades con el mismo valor",
    lowercase: "Minúsculas",
    uppercase: "Mayúsculas",
    trim: "Recortar espacios",
    exact_length: "Longitud exacta",
    min_length: "Longitud mínima",
    max_length: "Longitud máxima",
    matches_regex: "Coincide con regex",
    not_valid_regexp: "No es una expresión regular válida",
    regex_helper: "ej. /^\\d+$/ solo para dígitos",
    min_value: "Valor mínimo",
    max_value: "Valor máximo",
    less_than: "Menor que",
    more_than: "Mayor que",
    positive_value: "Valor positivo",
    negative_value: "Valor negativo",
    integer_value: "Valor entero",

    // ─── Collection Editor — Property Edit ───────────────────────
    invalid_regular_expression: "Expresión regular no válida",
    must_specify_target_collection: "Debes especificar una colección de destino para el campo",
    need_specify_repeat_field: "Debes especificar un campo de repetición",
    need_specify_block_properties: "Debes especificar las propiedades de este bloque",
    incomplete_condition: "Condición incompleta - por favor selecciona un campo",
    field_name: "Nombre del campo",

    // ─── Collection Editor — Display & Config ────────────────────
    kanban_column_property: "Propiedad de columna Kanban",
    select_a_property: "Seleccionar una propiedad",
    kanban_property_not_found: "La propiedad \"{{property}}\" no existe o no es una propiedad de tipo string con enum. Selecciona una propiedad válida o borra la selección.",
    no_enum_string_properties: "No se encontraron propiedades de tipo string con enum. Agrega una propiedad string con enumValues para usar la vista Kanban.",
    kanban_column_description: "Selecciona una propiedad de tipo string con valores enum para agrupar entidades en columnas",
    create_property: "+ Crear propiedad \"{{property}}\"",
    order_property: "Propiedad de orden",
    order_property_not_found: "La propiedad \"{{property}}\" no existe o no es una propiedad numérica. Selecciona una propiedad válida o borra la selección.",
    no_number_properties: "No se encontraron propiedades numéricas. Agrega una propiedad numérica para habilitar el ordenamiento.",
    order_property_description: "Selecciona una propiedad numérica para mantener el orden de los elementos",
    display_settings: "Configuración de visualización",
    default_row_size: "Tamaño de fila predeterminado",
    side_dialog_width: "Ancho del diálogo lateral",
    side_dialog_width_description: "Opcionalmente define el ancho (en píxeles) del diálogo lateral de entidades. El valor predeterminado es 768px",
    inline_editing_enabled: "Los datos se pueden editar directamente en la vista de tabla",
    inline_editing_disabled: "Los datos solo se pueden editar en la vista de formulario",
    inline_editing_description: "Permitir editar datos directamente en la vista de tabla, sin abrir la vista de formulario.",
    include_json_view: "Incluir vista JSON",
    no_json_view: "No incluir vista JSON",
    json_view_description: "Incluir la representación JSON del documento.",
    not_found_suffix: "no encontrado",

    // ─── Editor ─────────────────────────────────────────────────
    editor_text: "Texto",
    editor_text_description: "Empieza a escribir con texto plano.",
    editor_heading_1: "Encabezado 1",
    editor_heading_1_description: "Encabezado de sección grande.",
    editor_heading_2: "Encabezado 2",
    editor_heading_2_description: "Encabezado de sección mediano.",
    editor_heading_3: "Encabezado 3",
    editor_heading_3_description: "Encabezado de sección pequeño.",
    editor_todo_list: "Lista de tareas",
    editor_todo_list_description: "Sigue tus tareas con una lista de tareas.",
    editor_bullet_list: "Lista con viñetas",
    editor_bullet_list_description: "Crea una lista simple con viñetas.",
    editor_numbered_list: "Lista numerada",
    editor_numbered_list_description: "Crea una lista con numeración.",
    editor_quote: "Cita",
    editor_quote_description: "Captura una cita.",
    editor_code: "Código",
    editor_code_description: "Captura un fragmento de código.",
    editor_image: "Imagen",
    editor_image_description: "Sube una imagen desde tu ordenador.",
    editor_multiple: "Múltiple",
    editor_link: "Enlace",
    editor_save: "Guardar",
    editor_cancel: "Cancelar",
    editor_remove_link: "Eliminar enlace",
    editor_paste_or_type_link: "Pega o escribe el enlace",
    editor_open_in_new_window: "Abrir en una ventana nueva",
    editor_bold: "Negrita",
    editor_italic: "Cursiva",
    editor_underline: "Subrayado",
    editor_strikethrough: "Tachado",
    editor_autocomplete: "Autocompletar",
    editor_autocomplete_description: "Añade texto basado en el contexto.",

    // ─── Cloud Project Settings ──────────────────────────────────
    settings_subscription_plan: "Plan de suscripción",
    settings_subscribed_to: "Actualmente estás suscrito a",
    settings_no_active_subscription: "Actualmente no hay una suscripción activa para este proyecto.",
    settings_trial_valid_until: "Tu período de prueba es válido hasta el {{date}}.",
    settings_features_intro: "Estas son algunas de las funcionalidades que ya disfrutas al usar FireCMS Cloud",
    settings_feature_managed_service: "Servicio gestionado siempre actualizado",
    settings_feature_local_text_search: "Búsqueda de texto local",
    settings_feature_unlimited_users_roles: "Usuarios y roles ilimitados",
    settings_feature_theme_logo: "Personalización de tema y logotipo",
    settings_feature_custom_fields_views: "Campos de formulario y vistas personalizadas",
    settings_feature_secondary_databases: "Bases de datos secundarias",
    settings_feature_ai_content: "Generación de contenido con IA de OpenAI y Google",
    settings_feature_unlimited_export: "Exportación de datos ilimitada",
    settings_feature_appcheck: "AppCheck",
    settings_heading: "Ajustes",
    settings_project_name: "Nombre del proyecto",
    settings_default_language: "Idioma predeterminado",
    settings_default_language_caption: "Selecciona el idioma base para este proyecto. Los usuarios pueden modificar esta preferencia en sus ajustes personales.",
    settings_enable_local_text_search: "Habilitar búsqueda de texto local",
    settings_local_text_search_caption: "Habilita la búsqueda de texto local para todas las colecciones. Esto te permitirá buscar campos de texto en tus colecciones usando la barra de búsqueda de FireCMS. Ten en cuenta que esta función puede implicar un mayor número de lecturas, ya que indexará todos los campos de texto de tus colecciones.",
    settings_doc_history_all_collections: "Historial de documentos habilitado para todas las colecciones",
    settings_doc_history_caption: "Cuando está activado, todas las colecciones tendrán el historial habilitado por defecto. Puedes cambiar este ajuste en cada colección. El historial se guardará en la subcolección __history de cada documento.",
    settings_theme: "Tema",
    settings_primary_color: "Color primario",
    settings_secondary_color: "Color secundario",
    settings_sample_theme_components: "Componentes de ejemplo del tema",
    settings_drag_drop_logo: "Arrastra y suelta tu logotipo aquí",
    settings_create_subscription: "Crear una suscripción",
    settings_stripe_disclaimer: "Serás redirigido a Stripe para completar tu suscripción. Se factura mensualmente según el número máximo de usuarios en el mes. Cancela en cualquier momento: ya has pagado el período de facturación actual, por lo que no se aplicarán cargos adicionales tras la cancelación.",
    settings_subscription_is: "La suscripción está",
    settings_next_payment_on: "El próximo pago es el {{date}}.",
    settings_seats_count: "Tienes",
    settings_seat: "plaza",
    settings_seats: "plazas",
    settings_per_seat: "a {{price}}/plaza/{{interval}}",
    settings_current_price: "El precio actual es",
    settings_per_user_usage: "por usuario (basado en uso).",
    settings_cancelled_active_until: "Esta suscripción fue cancelada y estará activa hasta el {{date}}.",
    settings_no_additional_charges: "No se aplicarán cargos adicionales tras la cancelación.",
    settings_manage_subscription: "Gestionar suscripción",
    settings_security_rules: "Reglas de seguridad",
    settings_security_rules_description: "FireCMS utiliza las reglas de seguridad de Firebase para restringir el acceso a los datos. Al crear un nuevo usuario a través de FireCMS, se añade el atributo personalizado fireCMSUser al usuario en el proyecto cliente. Al añadir las siguientes reglas de seguridad a tu proyecto, te aseguras de que los usuarios de FireCMS puedan acceder a los datos a través de FireCMS.",
    settings_security_rules_add_domain: "Recuerda añadir el dominio {{domain}} a los dominios permitidos de tu proveedor",
    settings_security_rules_caption: "Estas reglas restringen el acceso a los datos solo para usuarios de FireCMS, pero no aplican los permisos a nivel de base de datos. Los permisos se aplican en el frontend, lo que funciona bien en la mayoría de los proyectos. Si necesitas aplicar los permisos a nivel de base de datos, puedes modificar estas reglas de seguridad. Los roles asignados a un usuario se configuran como atributos personalizados en el token de autenticación de Firebase, por lo que puedes usarlos en tus reglas de seguridad.",
    settings_appcheck: "AppCheck",
    settings_appcheck_description: "Puedes habilitar AppCheck para proteger tus servicios de Firebase contra abusos. Consulta cómo configurarlo en la documentación de Firebase. Cuando tengas un proveedor configurado, puedes habilitarlo aquí. Necesitarás proporcionar un secreto en los ajustes de tu proyecto de Firebase y una clave de sitio en la configuración de FireCMS.",
    settings_appcheck_add_domain: "Recuerda añadir el dominio {{domain}} a los dominios permitidos de tu proveedor",
    settings_appcheck_enable: "Habilitar AppCheck",
    settings_appcheck_site_key: "Clave de sitio",
    settings_appcheck_update: "Actualizar AppCheck",
    settings_appcheck_refresh_note: "Puede que necesites actualizar la página para ver los cambios después de guardar.",
    settings_appcheck_updated: "AppCheck actualizado",
    settings_appcheck_error: "Error al actualizar AppCheck",

    // ─── Text Search Dialog ─────────────────────────────────────
    text_search_dialog_title: "Activar búsqueda de texto",
    text_search_local_not_recommended: "La búsqueda de texto local no es recomendable para colecciones grandes.",
    text_search_local_fetch_warning: "Ten en cuenta que activar la búsqueda de texto local requiere descargar todos los documentos de la colección y almacenarlos en el navegador. Esto puede ser ineficiente para colecciones grandes y generar costes adicionales.",
    text_search_external_suggestion: "Para colecciones más grandes, te recomendamos usar un motor de búsqueda externo como Algolia o Elastic Search, y asignar un delegado de búsqueda a tu configuración.",
    text_search_local_description: "La búsqueda de texto local es la forma más sencilla de activar la búsqueda de texto en tu colección. Carga todos los documentos de la colección en el navegador y realiza la búsqueda de forma local. Es la opción recomendada para colecciones pequeñas.",
    text_search_own_implementation: "Has implementado tu propio controlador de búsqueda de texto. Puedes activar la búsqueda de texto para tu colección.",
    text_search_enable_for_collection: "Activar para esta colección",
    text_search_enable_for_project: "Activar para el proyecto",
    text_search_enabled_snackbar: "Búsqueda de texto local activada"
};
