const translation = {
  title: 'Herramientas',
  createCustomTool: 'Crear Herramienta Personalizada',
  customToolTip: 'Aprende más sobre las herramientas personalizadas de Dify',
  type: {
    all: 'Todas',
    builtIn: 'Incorporadas',
    custom: 'Personalizadas',
    workflow: 'Flujo de Trabajo',
  },
  contribute: {
    line1: 'Estoy interesado en ',
    line2: 'contribuir herramientas a Dify.',
    viewGuide: 'Ver la guía',
  },
  author: 'Por',
  auth: {
    authorized: 'Autorizado',
    setup: 'Configurar la autorización para usar',
    setupModalTitle: 'Configurar Autorización',
    setupModalTitleDescription: 'Después de configurar las credenciales, todos los miembros dentro del espacio de trabajo pueden usar esta herramienta al orquestar aplicaciones.',
  },
  includeToolNum: '{{num}} herramientas incluidas',
  addTool: 'Agregar Herramienta',
  addToolModal: {
    type: 'tipo',
    category: 'categoría',
    add: 'agregar',
    added: 'agregada',
    manageInTools: 'Administrar en Herramientas',
    custom: {
      title: 'No hay herramienta personalizada disponible',
      tip: 'Crear una herramienta personalizada',
    },
    workflow: {
      title: 'No hay herramienta de flujo de trabajo disponible',
      tip: 'Publicar flujos de trabajo como herramientas en el Estudio',
    },
    mcp: {
      title: 'No hay herramienta MCP disponible',
      tip: 'Añadir un servidor MCP',
    },
    agent: {
      title: 'No hay estrategia de agente disponible',
    },
  },
  createTool: {
    title: 'Crear Herramienta Personalizada',
    editAction: 'Configurar',
    editTitle: 'Editar Herramienta Personalizada',
    name: 'Nombre',
    toolNamePlaceHolder: 'Ingresa el nombre de la herramienta',
    nameForToolCall: 'Nombre de llamada de la herramienta',
    nameForToolCallPlaceHolder: 'Utilizado para el reconocimiento automático, como getCurrentWeather, list_pets',
    nameForToolCallTip: 'Solo soporta números, letras y guiones bajos.',
    description: 'Descripción',
    descriptionPlaceholder: 'Breve descripción del propósito de la herramienta, por ejemplo, obtener la temperatura de una ubicación específica.',
    schema: 'Esquema',
    schemaPlaceHolder: 'Ingresa tu esquema OpenAPI aquí',
    viewSchemaSpec: 'Ver la Especificación OpenAPI-Swagger',
    importFromUrl: 'Importar desde URL',
    importFromUrlPlaceHolder: 'https://...',
    urlError: 'Por favor, ingresa una URL válida',
    examples: 'Ejemplos',
    exampleOptions: {
      json: 'Clima (JSON)',
      yaml: 'Tienda de Mascotas (YAML)',
      blankTemplate: 'Plantilla en Blanco',
    },
    availableTools: {
      title: 'Herramientas Disponibles',
      name: 'Nombre',
      description: 'Descripción',
      method: 'Método',
      path: 'Ruta',
      action: 'Acciones',
      test: 'Probar',
    },
    authMethod: {
      title: 'Método de Autorización',
      type: 'Tipo de Autorización',
      keyTooltip: 'Clave del encabezado HTTP, puedes dejarla como "Authorization" si no tienes idea de qué es o configurarla con un valor personalizado',
      types: {
        none: 'Ninguno',
        apiKeyPlaceholder: 'Nombre del encabezado HTTP para la Clave API',
        apiValuePlaceholder: 'Ingresa la Clave API',
        api_key_header: 'Encabezado',
        api_key_query: 'Parámetro de consulta',
        queryParamPlaceholder: 'Nombre del parámetro de consulta para la clave de API',
      },
      key: 'Clave',
      value: 'Valor',
      queryParam: 'Parámetro de consulta',
      queryParamTooltip: 'El nombre del parámetro de consulta de clave de API que se debe pasar, por ejemplo, "key" en "https://example.com/test?key=API_KEY".',
    },
    authHeaderPrefix: {
      title: 'Tipo de Autenticación',
      types: {
        basic: 'Básica',
        bearer: 'Bearer',
        custom: 'Personalizada',
      },
    },
    privacyPolicy: 'Política de Privacidad',
    privacyPolicyPlaceholder: 'Por favor, ingresa la política de privacidad',
    toolInput: {
      title: 'Entrada de la Herramienta',
      name: 'Nombre',
      required: 'Requerido',
      method: 'Método',
      methodSetting: 'Configuración',
      methodSettingTip: 'El usuario completa la configuración de la herramienta',
      methodParameter: 'Parámetro',
      methodParameterTip: 'LLM completa durante la inferencia',
      label: 'Etiquetas',
      labelPlaceholder: 'Elige etiquetas (opcional)',
      description: 'Descripción',
      descriptionPlaceholder: 'Descripción del significado del parámetro',
    },
    customDisclaimer: 'Descargo de responsabilidad personalizado',
    customDisclaimerPlaceholder: 'Por favor, ingresa el descargo de responsabilidad personalizado',
    confirmTitle: '¿Confirmar para guardar?',
    confirmTip: 'Las aplicaciones que usen esta herramienta se verán afectadas',
    deleteToolConfirmTitle: '¿Eliminar esta Herramienta?',
    deleteToolConfirmContent: 'Eliminar la herramienta es irreversible. Los usuarios ya no podrán acceder a tu herramienta.',
  },
  test: {
    title: 'Probar',
    parametersValue: 'Parámetros y Valor',
    parameters: 'Parámetros',
    value: 'Valor',
    testResult: 'Resultados de la Prueba',
    testResultPlaceholder: 'El resultado de la prueba se mostrará aquí',
  },
  thought: {
    using: 'Usando',
    used: 'Usado',
    requestTitle: 'Solicitud a',
    responseTitle: 'Respuesta de',
  },
  setBuiltInTools: {
    info: 'Información',
    setting: 'Ajuste',
    toolDescription: 'Descripción de la herramienta',
    parameters: 'parámetros',
    string: 'cadena',
    number: 'número',
    required: 'Requerido',
    infoAndSetting: 'Información y Ajustes',
    file: 'archivo',
  },
  noCustomTool: {
    title: '¡Sin herramientas personalizadas!',
    content: 'Agrega y administra tus herramientas personalizadas aquí para construir aplicaciones de inteligencia artificial.',
    createTool: 'Crear Herramienta',
  },
  noSearchRes: {
    title: '¡Lo sentimos, no hay resultados!',
    content: 'No encontramos herramientas que coincidan con tu búsqueda.',
    reset: 'Restablecer Búsqueda',
  },
  builtInPromptTitle: 'Aviso',
  toolRemoved: 'Herramienta eliminada',
  notAuthorized: 'Herramienta no autorizada',
  howToGet: 'Cómo obtener',
  openInStudio: 'Abrir en Studio',
  toolNameUsageTip: 'Nombre de llamada de la herramienta para razonamiento y promoción de agentes',
  copyToolName: 'Nombre de la copia',
  noTools: 'No se han encontrado herramientas',
  mcp: {
    create: {
      cardTitle: 'Añadir servidor MCP (HTTP)',
      cardLink: 'Más información sobre integración de servidores MCP',
    },
    noConfigured: 'Servidor no configurado',
    updateTime: 'Actualizado',
    toolsCount: '{{count}} herramientas',
    noTools: 'No hay herramientas disponibles',
    modal: {
      title: 'Añadir servidor MCP (HTTP)',
      editTitle: 'Editar servidor MCP (HTTP)',
      name: 'Nombre e Icono',
      namePlaceholder: 'Nombre de su servidor MCP',
      serverUrl: 'URL del servidor',
      serverUrlPlaceholder: 'URL del endpoint del servidor',
      serverUrlWarning: 'Actualizar la dirección del servidor puede interrumpir aplicaciones que dependan de él',
      serverIdentifier: 'Identificador del servidor',
      serverIdentifierTip: 'Identificador único del servidor MCP en el espacio de trabajo. Solo letras minúsculas, números, guiones bajos y guiones. Máximo 24 caracteres.',
      serverIdentifierPlaceholder: 'Identificador único, ej. mi-servidor-mcp',
      serverIdentifierWarning: 'El servidor no será reconocido por aplicaciones existentes tras cambiar la ID',
      cancel: 'Cancelar',
      save: 'Guardar',
      confirm: 'Añadir y Autorizar',
      sseReadTimeout: 'Tiempo de espera de lectura SSE',
      timeout: 'Tiempo de espera',
      timeoutPlaceholder: 'treinta',
      headers: 'Encabezados',
      addHeader: 'Agregar encabezado',
      headerValuePlaceholder: 'por ejemplo, token de portador123',
      headersTip: 'Encabezados HTTP adicionales para enviar con las solicitudes del servidor MCP',
      maskedHeadersTip: 'Los valores del encabezado están enmascarados por seguridad. Los cambios actualizarán los valores reales.',
      headerKeyPlaceholder: 'por ejemplo, Autorización',
      headerValue: 'Valor del encabezado',
      noHeaders: 'No se han configurado encabezados personalizados',
      headerKey: 'Nombre del encabezado',
    },
    delete: 'Eliminar servidor MCP',
    deleteConfirmTitle: '¿Eliminar {{mcp}}?',
    operation: {
      edit: 'Editar',
      remove: 'Eliminar',
    },
    authorize: 'Autorizar',
    authorizing: 'Autorizando...',
    authorizingRequired: 'Se requiere autorización',
    authorizeTip: 'Tras la autorización, las herramientas se mostrarán aquí.',
    update: 'Actualizar',
    updating: 'Actualizando',
    gettingTools: 'Obteniendo herramientas...',
    updateTools: 'Actualizando herramientas...',
    toolsEmpty: 'Herramientas no cargadas',
    getTools: 'Obtener herramientas',
    toolUpdateConfirmTitle: 'Actualizar lista de herramientas',
    toolUpdateConfirmContent: 'Actualizar la lista puede afectar a aplicaciones existentes. ¿Continuar?',
    toolsNum: '{{count}} herramientas incluidas',
    onlyTool: '1 herramienta incluida',
    identifier: 'Identificador del servidor (Haz clic para copiar)',
    server: {
      title: 'Servidor MCP',
      url: 'URL del servidor',
      reGen: '¿Regenerar URL del servidor?',
      addDescription: 'Añadir descripción',
      edit: 'Editar descripción',
      modal: {
        addTitle: 'Añade descripción para habilitar el servidor MCP',
        editTitle: 'Editar descripción',
        description: 'Descripción',
        descriptionPlaceholder: 'Explica qué hace esta herramienta y cómo debe usarla el LLM',
        parameters: 'Parámetros',
        parametersTip: 'Añade descripciones de cada parámetro para ayudar al LLM a entender su propósito y restricciones.',
        parametersPlaceholder: 'Propósito y restricciones del parámetro',
        confirm: 'Habilitar servidor MCP',
      },
      publishTip: 'App no publicada. Publícala primero.',
    },
  },
  allTools: 'Todas las herramientas',
}

export default translation
