diff --git a/public/locales/en-US/translations.json b/public/locales/en-US/translations.json
index a01df1483..25052a144 100644
--- a/public/locales/en-US/translations.json
+++ b/public/locales/en-US/translations.json
@@ -457,6 +457,7 @@
"language_en-US": "English",
"language_ja-JP": "Japanese",
"language_ko-KR": "Korean",
+ "language_es-ES": "Spanish",
"xchain_account_claim_count": "XChain Account Claim Count",
"xchain_account_create_count": "XChain Account Create Count",
"min_signer_quorum": "Minimum weight <0>{{quorum}}0> required",
diff --git a/public/locales/es-ES/translations.json b/public/locales/es-ES/translations.json
new file mode 100644
index 000000000..4fb7db26f
--- /dev/null
+++ b/public/locales/es-ES/translations.json
@@ -0,0 +1,487 @@
+{
+ "action": "acción",
+ "assets": "Activos",
+ "assets.nft_tab_title": "Tokens No-Fungibles",
+ "assets.issued_tab_title": "Tokens Emitidos",
+ "assets.no_issued_message": "No se han encontrado tokens.",
+ "assets.no_nfts_message": "NFTs no encontrados.",
+ "network": "Red",
+ "network_name": "Red Desconocida",
+ "network_name_testnet": "Testnet",
+ "network_name_mainnet": "Mainnet",
+ "network_name_devnet": "Devnet",
+ "network_name_amm": "AMM-Devnet",
+ "network_name_hooks_testnet": "Hooks-Testnet",
+ "network_name_custom": "Personalizada",
+ "app.meta.description": "Explorador de la Red XRPL",
+ "app.meta.author": "Ripple",
+ "explorer": "Explorador",
+ "xrpl_org": "XRPL.org",
+ "github": "GitHub",
+ "header.search.placeholder": "Buscar por Dirección, Libro Contable o Transacción",
+ "xrp": "XRP",
+ "xrpl_explorer": "Explorador XRPL",
+ "ledgers": "Registros",
+ "ledger": "Registro",
+ "taxon": "Taxón",
+ "token_id": "ID del Token",
+ "token_transactions": "Transacciones de Token",
+ "transactions": "Transacciones",
+ "transaction_short": "TX",
+ "nodes": "Nodos",
+ "validator": "Validador",
+ "validators": "Validadores",
+ "upgrade_status": "Estado de Actualización",
+ "version": "v{{number}}",
+ "component_error": "¡Algo malo ha ocurrido!",
+ "1H": "1H",
+ "24H": "24H",
+ "30D": "30D",
+ "total_transactions": "# de Txs",
+ "total_fees": "Comisiones Totales",
+ "async_component_timedout": "Cargar el componente tomó más tiempo del esperado",
+ "async_component_failed": "Fallo al cargar Componente",
+ "account_not_found": "Cuenta no encontrada",
+ "account_empty_title": "El ID de la cuenta no fue facilitado",
+ "account_empty_hint": "Introduce un ID de cuenta en la caja de búsqueda",
+ "check_account_id": "Por favor, comprueba el ID de tu cuenta",
+ "accounts.xrp_balance": "Balance XRP",
+ "accounts.other_balances": "Otros Balances",
+ "accounts.other_balances_short": "Otros Bal.",
+ "amount": "Cantidad",
+ "currency_code": "Código de Divisa",
+ "currency_balance": "Balance <0>{{currency}}0>",
+ "load_more_action": "Cargar más...",
+ "account_transactions": "Transacciones de la Cuenta",
+ "transaction_type": "Tipo de Transacción",
+ "transaction_action_CANCEL": "Cancelación",
+ "transaction_action_CREATE": "Creación",
+ "transaction_action_FINISH": "Finalización",
+ "transaction_action_MODIFY": "Modificación",
+ "transaction_action_SEND": "Envío",
+ "transaction_category_ACCOUNT": "Cuenta",
+ "transaction_category_DEX": "Dex (AMM, Ofertas, Trust Sets, Tokens)",
+ "transaction_category_NFT": "NFT",
+ "transaction_category_PAYMENT": "Pago",
+ "transaction_category_PSUEDO": "Pseudo-Tx",
+ "transaction_category_UNKNOWN": "Desconocido",
+ "transaction_legend_toggle_hide": "Ocultar Leyenda",
+ "transaction_legend_toggle_show": "Mostrar Leyenda",
+ "transactions.date_header": "Fecha/hora (UTC)",
+ "no_transactions_message": "No se han encontrado transacciones.",
+ "retry_action": "Volver a intentar...",
+ "uh_oh": "¡UH-OH!",
+ "not_found_default_title": "Página No Encontrada",
+ "not_found_check_url": "Por favor, comprueba tu URL",
+ "not_found": "No encontrado",
+ "buy": "Comprar",
+ "sell": "Vender",
+ "price": "Precio",
+ "ledger_index": "Índice del Libro Contable",
+ "to": "a",
+ "from": "desde",
+ "send": "Enviar",
+ "delivered": "Enviado",
+ "cancel_offer": "Cancelar Oferta",
+ "convert_maximum": "Convertir Máx",
+ "convert_to": "Convertir a",
+ "using_at_most": "Utilizando como mucho",
+ "partial_payment_allowed": "pago parcial permitido",
+ "set_limit": "Añadir Límite de Confianza",
+ "escrow": "depósito",
+ "cancel_escrow": "cancelar depósito",
+ "finish_escrow": "finalizar depósito",
+ "escrow_amount": "cantidad del depósito",
+ "escrow_destination": "destino del depósito",
+ "escrow_transaction": "tx del depósito",
+ "escrow_condition_short": "condición del depósito",
+ "escrow_fulfillment": "cumplimiento del depósito",
+ "condition": "condición",
+ "fulfillment": "cumplimiento",
+ "cancel_after": "cancelar después",
+ "finish_after": "finalizado después de",
+ "settle_delay": "Retraso del Acuerdo",
+ "channel_id": "ID del canal",
+ "seconds": "segundos",
+ "seconds_short": "seg.",
+ "regular_key": "clave normal",
+ "unset_regular_key": "Desconfigurar clave normal",
+ "unset_signer_list": "Desconfigurar lista de firmantes",
+ "set_flag": "establecer bandera",
+ "clear_flag": "borrar bandera",
+ "email_hash": "hash de email",
+ "message_key": "clave de mensaje",
+ "out_of": "de",
+ "weight": "peso",
+ "the_account": "La cuenta",
+ "create_payment_channel": "creará un canal de pago para",
+ "destination_tag": "etiqueta de destino",
+ "source_tag": "etiqueta de origen",
+ "channel_settle_delay": "El canal tiene un retraso de acuerdo de",
+ "the_channel_id_is": "El ID del canal es",
+ "the_channel_amount_is": "La cantidad del canal es",
+ "update_payment_channel": "Se actualizará el canal de pago",
+ "the_channel_balance_is": "El balance reclamado del canal es",
+ "amm_delete_description": "Se intentó eliminar el AMM para y .",
+ "amm_delete_description_caveat": "Si hubiese más de 512 líneas de confianza, esto solo borrará 512 líneas de confianza.",
+ "payment_channel_closed_description": "El canal de pago será cerrado, cualquier balance restante será devuelto a la cuenta de origen",
+ "set_signer_list_description": "Se añade un acuerdo mínimo de firmantes de {{quorum}} con la siguiente lista de firmantes",
+ "unset_signer_list_description": "Eliminó todos los firmantes de la cuenta",
+ "transaction_initiated_by": "La transacción fue iniciada por",
+ "increase_channel_amount_by": "Incrementará la cantidad del canal en",
+ "channel_amount_increase": "cantidad del canal aumentada",
+ "channel_amount": "cantidad de canal",
+ "total_claimed": "total reclamado",
+ "amount_claimed": "cantidad reclamada",
+ "close_request": "petición de cierre de canal",
+ "renew_channel": "renovar el canal",
+ "payment_channel_closed": "canal de pago cerrado",
+ "paychannel_node_line1": "Se <1><0>{{action}}0>1> a un nodo PayChannel desde <3><0>{{account}}0>3> a <5><0>{{counterAccount}}0>5>",
+ "paychannel_amount_changed": "Cantidad cambiada por <1><0>{{difference}}0><1><0>{{currency}}0>1>1> desde <3><0>{{previous}}0><1><0>{{currency}}0>1>3> a <5><0>{{final}}0><1><0>{{currency}}0>1>5>",
+ "paychannel_balance_changed": "Balance cambiado por <1><0>{{difference}}0><1><0>{{currency}}0>1>1> desde <3><0>{{previous}}0><1><0>{{currency}}0>1>3> a <5><0>{{final}}0><1><0>{{currency}}0>1>5>",
+ "setfee_fees_description": "Transacciones futuras necesitarán una comisión mínima de .",
+ "setfee_reserves_description": "Las cuentas necesitan ahora tener una base de y un adicional por cada objecto adicional que la cuenta sea dueña.",
+ "setfee_docs_description": "Visita la documentación: <0>Fees0>",
+ "setfee_base_fee": "Comisión base",
+ "setfee_reserve": "Reserva",
+ "setfee_reserve_increment": "Incremento de la Reserva",
+ "formatted_date": "Fecha/Hora ({{timeZone}})",
+ "transaction_type_name_AMMCreate": "Crear AMM",
+ "transaction_type_name_AMMDeposit": "Depositar AMM",
+ "transaction_type_name_AMMWithdraw": "Retirar AMM ",
+ "transaction_type_name_AMMVote": "Votar AMM",
+ "transaction_type_name_AMMBid": "Puja AMM",
+ "transaction_type_name_AccountSet": "Configurar Cuenta",
+ "transaction_type_name_CheckCancel": "Cancelar Cheque",
+ "transaction_type_name_CheckCash": "Cobrar Cheque",
+ "transaction_type_name_CheckCreate": "Crear Cheque",
+ "transaction_type_name_DepositPreauth": "Preautorizar Depósito",
+ "transaction_type_name_Error_Cases": "Casos de Error",
+ "transaction_type_name_EscrowCancel": "Cancelar Depósito",
+ "transaction_type_name_EscrowCreate": "Crear Depósito",
+ "transaction_type_name_EscrowFinish": "Finalizar Depósito",
+ "transaction_type_name_NFTokenAcceptOffer": "Aceptar Oferta NFT",
+ "transaction_type_name_NFTokenBurn": "Quemar NFT",
+ "transaction_type_name_NFTokenCancelOffer": "Cancelar Oferta NFT",
+ "transaction_type_name_NFTokenCreateOffer": "Crear Oferta NFT",
+ "transaction_type_name_NFTokenMint": "Acuñar NFT",
+ "transaction_type_name_OfferCancel": "Cancelar Oferta",
+ "transaction_type_name_OfferCreate": "Crear Oferta",
+ "transaction_type_name_Payment": "Pago",
+ "transaction_type_name_PaymentChannelClaim": "Reclamar Canal de Pago",
+ "transaction_type_name_PaymentChannelCreate": "Crear Canal de Pago",
+ "transaction_type_name_PaymentChannelFund": "Añadir Fondos a Canal de Pago",
+ "transaction_type_name_SetHook": "Añadir Hook",
+ "transaction_type_name_SetRegularKey": "Configurar Clave Normal",
+ "transaction_type_name_SignerListSet": "Configurar Lista de Firmantes",
+ "transaction_type_name_TicketCreate": "Creación de Ticket",
+ "transaction_type_name_TrustSet": "Configurar Confianza",
+ "transaction_type_name_XChainAccountCreateCommit": "Commit de Creación de Cuenta XChain",
+ "transaction_type_name_XChainAddAccountCreateAttestation": "Añadir Atestado de Creación de Cuenta XChain",
+ "transaction_type_name_XChainAddClaimAttestation": "Añadir Atestado de Reclamo XChain",
+ "transaction_type_name_XChainClaim": "Reclamar XChain",
+ "transaction_type_name_XChainCommit": "Commit XChain",
+ "transaction_type_name_XChainCreateBridge": "Crear Puente XChain",
+ "transaction_type_name_XChainCreateClaimID": "Crear ID de Reclamo XChain",
+ "transaction_type_name_XChainModifyBridge": "Modificar Puente XChain",
+ "transaction_type_name_EnableAmendment": "Habilitar Enmienda",
+ "transaction_type_name_SetFee": "Modificar Comisión",
+ "transaction_type_name_UNLModify": "Modificar UNL",
+ "transaction_type_name_AccountDelete": "Borrar Cuenta",
+ "generic_error": "Algo malo ocurrió",
+ "not_your_fault": "Es probable que no sea culpa tuya",
+ "come_back_later": "Estará disponible pronto",
+ "invalid_ledger_id": "El id del libro contable es inválido",
+ "invalid_transaction_hash": "El hash de la transacción es inválido",
+ "ledger_not_found": "Libro Contable no Encontrado",
+ "check_ledger_id": "Por favor, comprueba el id de tu libro contable",
+ "server_ledgers_hint": "Este nodo ({{connection.server.publicKey, truncate(length: 10)}}) solo contiene libros contables {{connection.ledger.validated}}",
+ "use_search": "Por favor, utiliza nuestra búsqueda",
+ "ledger_has_no_trans": "Este libro contable no tiene ninguna transacción",
+ "less_than": "Menos que",
+ "transaction_not_found": "Transacción no encontrada",
+ "transaction_empty_title": "No se han facilitado hashes de transacciones",
+ "transaction_empty_hint": "Introduce un hash de transacción en la caja de búsqueda",
+ "validator_not_found": "Validador no encontrado",
+ "check_transaction_hash": "Por favor, comprueba tu hash de transacción",
+ "check_validator_key": "Por favor, comprueba la clave de tu validador",
+ "transaction": "Transacción",
+ "success": "Éxito",
+ "fail": "Fallo",
+ "simple": "Simple",
+ "detailed": "Detallado",
+ "details": "Detalles",
+ "history": "Histórico",
+ "raw": "En Bruto",
+ "simple_not_supported": "La vista `Simple` no está todavía soportada para",
+ "try_detailed_raw": "Prueba las vistas `Detallado` o `En Bruto`",
+ "account": "Cuenta",
+ "transaction_cost": "Coste de la Transacción",
+ "transaction_cost_short": "Coste Tx.",
+ "sequence_number": "Número de Secuencia",
+ "sequence_number_short": "Secuencia #",
+ "serial": "Serial",
+ "n_a": "N/A",
+ "memos": "Notas",
+ "flags": "Banderas",
+ "status": "Estado",
+ "successful_transaction": "La transacción fue exitosa",
+ "fail_transaction": "Esta transacción ha fallado con un código de estado de <0>{{code}}0>",
+ "transaction_validated": ", y validada en el libro contable ",
+ "on": " el ",
+ "description": "Descripción",
+ "signers": "Firmantes",
+ "decoded_hex": "hex descodificado",
+ "transaction_consumed_fee": "Enviar esta transacción consumió",
+ "meta": "Meta",
+ "number_of_affected_node": "Afectó a {{count}} nodos en el libro contable:",
+ "nodes_type": "{{action}} nodos",
+ "node_meta_type": "Se {{action}} un nodo de tipo",
+ "transaction_balance_line_one": "Se <1><0>{{action}}0>1> un nodo RippleState <3><0>{{currency}}0>3> entre <5><0>{{account}}0>5> y <7><0>{{counterAccount}}0>7>",
+ "transaction_balance_line_two": "Balance modificado por <1><0>{{change}}0>1> de <3><0>{{previousBalance}}0>3> a <5><0>{{finalBalance}}0>5>",
+ "transaction_owned_directory": "Se {{action}} un nodo DirectoryNode propiedad de",
+ "transaction_unowned_directory": "Se {{action}} un nodo DirectoryNode",
+ "owned_account_root": "Se {{action}} el nodo AccountRoot de",
+ "unowned_account_root": "Se {{action}} el nodo AccountRoot",
+ "account_balance_increased": "Balance incrementado en <1><0>{{difference}}0><1><0>{{currency}}0>1>1> de <3><0>{{previous}}0><1><0>{{currency}}0>1>3> a <5><0>{{final}}0><1><0>{{currency}}0>1>5>",
+ "account_balance_decreased": "Balance disminuido en <1><0>{{difference}}0><1><0>{{currency}}0>1>1> de <3><0>{{previous}}0><1><0>{{currency}}0>1>3> a <5><0>{{final}}0><1><0>{{currency}}0>1>5>",
+ "decreased_from_to": "disminuido por <1><0>{{change}}0>1> de <3><0>{{previous}}0>3> a <5><0>{{final}}0>5>",
+ "offer_node_meta": "Se <1><0>{{action}}0>1> el nodo de oferta <3><0>{{pair}}0>3> perteneciente a <5><0>{{account}}0>5> con secuencia # <7><0>{{sequence}}0>7>",
+ "offer_replaces": "Esta oferta reemplaza la oferta existente #",
+ "offer_partially_filled": "La oferta fue parcialmente completada",
+ "offer_filled": "La oferta fue completada",
+ "offer_cancelled": "La oferta fue cancelada",
+ "offer_replaced": "Esta oferta fue reemplazada por una nueva oferta #",
+ "offer_lack_of_funds": "La oferta fue parcialmente completada, después cancelada por la falta de fondos",
+ "transaction_sequence": "El número de secuencia de la transacción es",
+ "trust_set_description": "Se establece <1><0>{{amount}}0>1> como la cantidad máxima de <3><0>{{currency}}0>3> de <5><0>{{issuer}}0>5> que <7><0>{{account}}0>7> está dispuesta a tener",
+ "payment_desc_line_1": "El pago es desde a ",
+ "the_source_tag_is": "La etiqueta de origen es ",
+ "the_destination_tag_is": "La etiqueta de destino es",
+ "payment_desc_line_4": "Se dieron instrucciones de enviar",
+ "payment_desc_line_5": "gastando hasta",
+ "payment_desc_line_6": "La cantidad real enviada fue",
+ "offer_cancel_description": "La transacción cancelará la oferta existente de la cuenta #",
+ "offer_create_desc_line_1": "La cuenta <1><0>{{account}}0>1> se ofrece a pagar <3><0>{{takerGets}}0><1><0>{{currency}}0>1>3> a cambio de recibir <5><0>{{takerPays}}0><1><0>{{currency}}0>1>5>",
+ "offer_create_desc_line_2": "El tipo de cambio de esta oferta es",
+ "offer_create_desc_line_3": "La transacción cancelará también la oferta existente de la cuenta #",
+ "offer_will_expire_desc": "La oferta expirará el <1><0>{{date}}0>1> a no ser que se cancele o se consuma antes",
+ "offer_did_expire_desc": "La oferta expiró el <1><0>{{date}}0>1> a no ser que se cancelase o se consumiese antes",
+ "escrow_is_from": "El depósito es desde <1><0>{{account}}0>1> a <3><0>{{destination}}0>3>",
+ "escrow_is_created_by": "El depósito fue creado por <1><0>{{account}}0>1> y los fondos serán devueltos a la misma cuenta",
+ "escrowed_amount": "Se depositó",
+ "escrow_condition": "El depósito tiene una condición de cumplimiento de",
+ "describe_cancel_after": "Se puede cancelar tras",
+ "describe_finish_after": "Se puede finalizar tras",
+ "escrow_completion_desc": "La finalización se descencadenó por",
+ "escrow_completion_desc_2": "La cantidad depositada de <1><0>{{amount}}0>1> fue enviada a <3><0>{{destination}}0>3>",
+ "escrow_finish_fullfillment_desc": "La condición del depósito fue completada por",
+ "escrow_cancellation_desc": "La cancelación fue producida por",
+ "escrow_cancellation_desc_2": "La cantidad depositada de <1><0>{{amount}}0>1> fue devuelta a <3><0>{{owner}}0>3>",
+ "escrow_after_transaction_cost": "tras el coste de transacción",
+ "escrow_created_by_desc": "El depósito fue creado por <1><0>{{account}}0>1> con la transacción <3><0>{{transaction}}0>3>",
+ "set_regular_key_description": "Establece la clave normal de cuenta a",
+ "unset_regular_key_description": "Elimina la clave normal de la cuenta",
+ "set_flag_description": "Establece la bandera de cuenta",
+ "clear_flag_description": "Limpia la bandera de cuenta",
+ "set_domain_description": "Establece el dominio de cuenta como",
+ "set_email_description": "Establece el hash de email de cuenta como",
+ "set_message_key_description": "Establece la clave de mensaje de cuenta como",
+ "set_nftoken_minter_description": "Se establece a <0>{{account}}0> como el acuñador autorizado para esta cuenta",
+ "deposit_auth": "Se autoriza a <1><0>{{account}}0>1> a enviar pagos a esta cuenta",
+ "deposit_unauth": "Se elimina la autorización a <1><0>{{account}}0>1> para enviar pagos a esta cuenta",
+ "invalid_xrpl_address": "Dirección XRPL inválida",
+ "loading": "Cargando",
+ "get_ledger_failed": "No ha sido posible cargar el libro contable",
+ "get_transaction_failed": "No ha sido posible cargar la transacción",
+ "get_validator_failed": "No ha sido posible cargar el validador",
+ "get_account_state_failed": "No ha sido posible cargar el estado de la cuenta",
+ "get_account_transactions_failed": "No ha sido posible cargar las transacciones de la cuenta",
+ "get_account_transactions_try": "Intentando cargar más transacciones",
+ "resolve_paystring_failed": "No ha sido posible resolver el PayString",
+ "paystring_address_invalid": "(Inválida)",
+ "paystring_address": "Dirección",
+ "paystring_empty_title": "No se facilitó un PayString",
+ "paystring_empty_hint": "Introduce un PayString en la caja de búsqueda",
+ "paystring_environment": "Entorno",
+ "paystring_explainer_blurb": "PayString es un ID universal para pagos que usa un sencillo, estandar abierto para ayudar a la gente a enviar y recibir dinero facilmente - a través de cualquier red de pagos - utilizando un ID único.",
+ "paystring_network": "Red",
+ "paystring_tag": "Marca",
+ "pubkey": "clave pública",
+ "node_pubkey": "clave pública del nodo",
+ "ip": "ip",
+ "state": "estado",
+ "rippled_version": "versión",
+ "last_ledger": "último libro contable",
+ "uptime": "activo",
+ "peers": "pares",
+ "in_out": "(entrada:salida)",
+ "ledger_history": "histórico contable",
+ "quorum": "cuórum",
+ "load": "carga",
+ "latency": "latencia",
+ "domain": "dominio",
+ "unl": "unl",
+ "fee": "comisión",
+ "ledger_interval": "lapso entre libros prom.",
+ "load_fee": "comisión de carga",
+ "txn_sec": "txs/seg.",
+ "txn_ledger": "Txs/libro prom.",
+ "avg_fee": "Comisión Tx Prom.",
+ "txn_count": "núm de txs",
+ "nUnlCol": "nUNL",
+ "nUnl": "VALIDADORES EN nUNL",
+ "fees": "comisiones",
+ "total": "total",
+ "missing": "perdidos",
+ "authorize": "autorizar",
+ "unauthorize": "desautorizar",
+ "missed_validations": "{{count}} validaciones perdidas",
+ "incomplete": "incompleto",
+ "required": "requerido",
+ "source": "fuente",
+ "destination": "destino",
+ "claimed": "reclamado",
+ "remaining": "restante",
+ "inbound_total": "entrante total",
+ "outbound_total": "saliente total",
+ "payment_channels": "canales de pago",
+ "available_in": "disponible en",
+ "channels": "canales",
+ "account_info": "info de la cuenta",
+ "reserve": "reserva",
+ "current_sequence": "secuencia actual",
+ "escrows": "depósitos",
+ "nodes_found": "nodos encontrados",
+ "unmapped": "no mapeados",
+ "validators_found": "validadores encontrados",
+ "pause": "pausar",
+ "resume": "continuar",
+ "flag_ledger": "Bandera Libro Contable",
+ "ticket": "Ticket",
+ "ticket_sequence": "Secuencia de Ticket",
+ "ticket_count": "Número de Tickets",
+ "ticket_used": "un Ticket fue utilizado para esta Transacción",
+ "token": "Token",
+ "tokens": "Tokens",
+ "total_issuers": "Emisores Totales",
+ "total_tokens": "Tokens Totales",
+ "top_trading_pairs": "Top Pares de Cambio",
+ "issuer_address": "Dirección del Emisor",
+ "obligations": "Obligaciones",
+ "settings": "Ajustes",
+ "rank": "Rank",
+ "market_cap": "Cap. Mercado",
+ "volume_24h": "Volumen (24H)",
+ "no_tokens_message": "No se han encontrado tokens.",
+ "no_pairs_message": "No trading pairs found",
+ "high": "Álto",
+ "low": "Bajo",
+ "rank_message": "Tokens ordenados por número de líneas de confianza.",
+ "obligations_message": "Obligaciones son las cantidades totales de cada token emitido a direcciones",
+ "issuer": "Emisor",
+ "pair": "Par",
+ "offer_range": "Rango de Oferta",
+ "custom_network": "Red Personalizada",
+ "custom_network_input_help": "Introduce la URL de la red personalizada para acceder a la información de la red.",
+ "custom_network_input": "Introduce la URL de la red personalizada",
+ "custom_networks": "Redes Personalizadas",
+ "no_network_selected": "Red Personalizada No Seleccionada",
+ "locking_chain_door": "Bloqueando Puerta de la Cadena",
+ "locking_chain_issue": "Bloqueando Cadena Emisora",
+ "issuing_chain_door": "Emitiendo Puerta de la Cadena",
+ "issuing_chain_issue": "Emitiendo Cadena Emisora",
+ "signature_reward": "Recompensa de Firma",
+ "min_account_create_amount": "Cantidad Mínima de Creación de Cuenta",
+ "other_chain_source": "Otra Fuente de Cadena",
+ "xchain_claim_id": "ID del Reclamo XChain",
+ "check_nft_id": "Por favor, comprueba el ID de tu NFT",
+ "get_nft_state_failed": "No es posible cargar el NFT",
+ "minted": "Acuñado",
+ "taxon_id": "ID Taxón",
+ "transfer_fee": "Comisión de Transferencia",
+ "burnable": "Quemable",
+ "only_xrp": "Sólo XRP",
+ "transferable": "Transferible",
+ "buy_offers": "Ofertas de Compra",
+ "sell_offers": "Ofertas de Venta",
+ "offer_index": "ID de la Oferta",
+ "no_sell_offers": "Sin ofertas de venta",
+ "no_buy_offers": "Sin ofertas de compra",
+ "validator_history.chain": "Cadena",
+ "validator_history.date": "Fecha",
+ "validator_history.missed": "Perdidos",
+ "validator_history.score": "Puntuación",
+ "seller": "Vendedor",
+ "buyer": "Comprador",
+ "offerer": "Offerer",
+ "token_taxon": "Taxón Token",
+ "uri": "URI",
+ "owner": "Dueño",
+ "other_chain_destination": "Otro Destino de Cadena",
+ "%_of_total_nodes_validators": "% Total de Nodos y Validadores",
+ "version_display": "Versión: {{version}}",
+ "validators_count": "# de Validadores: {{vals_count}}",
+ "nodes_count": "# de Nodos: {{nodes_count}}",
+ "current_stable_version": "Versión Estable Actual",
+ "stable_version": "{{stableVersion}}",
+ "nftoken_minter": "Acuñador NFT",
+ "is_burned": "Quemado",
+ "fee_rate": "Tarifa",
+ "last_affecting_transaction": "Última tx afectada",
+ "Version": "Versión",
+ "increased_by": "incrementado por",
+ "lp_token_balance": "Balance de Token en la LP",
+ "token_balance": "Balance de Tokens",
+ "trading_fee": "Comisión de Cambio",
+ "tvl": "TVL",
+ "account_address": "Dirección de la Cuenta",
+ "asset1": "Activo 1",
+ "asset2": "Activo 2",
+ "asset1out": "Activo 1 Saliente",
+ "asset2out": "Activo 2 Saliente",
+ "asset1in": "Activo 1 Entrante",
+ "asset2in": "Activo 2 Entrante",
+ "effective_price": "Precio Efectivo",
+ "amm_account_id": "ID de Cuenta AMM",
+ "lp_tokens": "Tokens LP",
+ "min_slot_price": "Precio Mínimo de Puja",
+ "max_slot_price": " Precio Máximo de Puja",
+ "auth_accounts": "Cuentas Autorizadas",
+ "network_cannot_be_crawled": "Esta red no se puede rastrear",
+ "check_crawl_existed": "Por favor, contacta con el operador para asegurarte de que tienen acceso a /crawl o un vl incluido.",
+ "peer_crawled_context": "Para más contexto, mira https://xrpl.org/peer-crawler.html",
+ "xchainbridge": "XChainBridge",
+ "language_en-US": "Inglés",
+ "language_ja-JP": "Japonés",
+ "language_kr-KR": "Coreano",
+ "language_fr-FR": "Francés",
+ "language_es-ES": "Español",
+ "xchain_account_claim_count": "Contador de Reclamación de Cuentas XChain",
+ "xchain_account_create_count": "Contador de Creación de Cuentas XChain",
+ "min_signer_quorum": "Peso mínimo <0>{{quorum}}0> requerido",
+ "holder": "Titular",
+ "action_from": "<0><0>{{action}}0>0> <1><0>{{amount}}0>1> desde <3><0>{{destination}}0>3>",
+ "claws_back": "Recupera",
+ "claws_back_from": " recupera desde ",
+ "instruct_to_claw": "La cantidad máx recuperada es ",
+ "hook": "Hook",
+ "hooks": "Hooks",
+ "hook_emitted": "esta Transacción fue emitida por un Hook",
+ "emit_details": "Detalles de la Emisión",
+ "hook_parameters": "Parámetros del Hook",
+ "hook_executions": "Ejecuciones del Hook",
+ "emit_generation": "Número <0>{{emit}}0> en la línea de transacciones generadas",
+ "emit_hook_hash": "Emitido por el hook <0>{{hash}}0>",
+ "emit_parent": "Emitido por un hook disparado por <0>{{hash}}0>",
+ "emit_callback": "La llamada de vuelta emitida es <0>{{callback}}<0>",
+ "hook_exec_hash": "Ha disparado el hook <0>{{hash}}0>",
+ "hook_exec_account": "En la cuenta <0>{{account}}0>",
+ "hook_exec_return": "Devuelto el código <0>{{code}}0> con la cadena \"<1>{{string}}1>\"",
+ "hook_exec_emit_count": "Emitida/s <0>{{count}}0> transacción/es",
+ "hash": "Hash",
+ "grant": "Subvención",
+ "namespace": "Espacio de Nombres",
+ "api_version": "Versión API",
+ "triggered_on": "Activado En"
+}
diff --git a/public/locales/ja-JP/translations.json b/public/locales/ja-JP/translations.json
index 6f281d49b..42e24b8c1 100644
--- a/public/locales/ja-JP/translations.json
+++ b/public/locales/ja-JP/translations.json
@@ -457,6 +457,7 @@
"language_en-US": null,
"language_ja-JP": null,
"language_ko-KR": null,
+ "language_es-ES": null,
"xchain_account_claim_count": null,
"xchain_account_create_count": null,
"min_signer_quorum": null,
diff --git a/public/locales/ko-KR/translations.json b/public/locales/ko-KR/translations.json
index 16a397a7b..9904a2013 100644
--- a/public/locales/ko-KR/translations.json
+++ b/public/locales/ko-KR/translations.json
@@ -455,6 +455,7 @@
"language_en-US": "영어",
"language_ja-JP": "일본어",
"language_ko-KR": "한국어",
+ "language_es-ES": "null",
"xchain_account_claim_count": "XChain 계정 요구 수",
"xchain_account_create_count": "XChain 계정 생성 수",
"min_signer_quorum": "최소 가중치 <0>{{quorum}}0>가 필요합니다",
diff --git a/src/i18n/baseConfig.ts b/src/i18n/baseConfig.ts
index c62467412..19dedc752 100644
--- a/src/i18n/baseConfig.ts
+++ b/src/i18n/baseConfig.ts
@@ -1,6 +1,6 @@
import { InitOptions } from 'i18next'
-export const supportedLanguages = ['en-US', 'ja-JP', 'ko-KR']
+export const supportedLanguages = ['en-US', 'ja-JP', 'ko-KR', 'es-ES']
export const options: InitOptions = {
returnNull: false,