]
+# Launcher errors
+viewer.launcher.URLError.dialog.title =ICEsoft ICEpdf
+viewer.launcher.URLError.dialog.message = ICEpdf no pudo abrir el archivo especificado. {0} en URL: {1}.
+viewer.launcher.lookAndFeel.error.message = El estilo visual especificado ({0}) no est\u00e1 disponible en esta plataforma.
+### parser error dialogs
+parse.title = Error de An\u00e1lisis de Properties
+parse.integer = Advertencia : {0} no es un entero v\u00e1lido.
+parse.float = Advertencia : {0} no es un n\u00famero decimal v\u00e1lido.
+parse.double = Advertencia : {0} no es un n\u00famero de doble precisi\u00f3n v\u00e1lido.
+parse.choice = Advertencia : {0} no es una opci\u00f3n v\u00e1lida.
+parse.laf = Advertencia : el estilo de interfaz {0} no es compatible.
+
+### Properties Manager Errors
+manager.properties.title = Administrador de Propiedades de ICEpdf
+fontManager.properties.title = Administrador de Fuentes de ICEpdf
+
+manager.properties.createNewDirectory = \
+ Para crear el directorio {0},\n\
+ donde el visor ICEpdf almacenar\u00e1 los cambios en su configuraci\u00f3n, haga clic en S\u00ed.\n\n\
+ Si hace clic en "No", todos los cambios que realice en la configuraci\u00f3n del visor ICEpdf\n\
+ se perder\u00e1n al cerrar la aplicaci\u00f3n. \n\n
+
+manager.properties.failedCreation = \
+ No se puede crear el directorio del visor ICEpdf para almacenar datos del usuario:\n\
+ {0}\n\
+ El visor ICEpdf no guardar\u00e1 cambios en su configuraci\u00f3n predeterminada.
+
+manager.properties.session.nolock = \
+ Error al crear el archivo de bloqueo:\n\
+ {0}\n
+
+manager.properties.session.readError = \
+ Error al cargar el archivo de propiedades:\n\
+ {0}
+
+manager.properties.deleted = El archivo de propiedades ha sido eliminado\n\
+ ({0})\n\
+ \u00bfDesea recrearlo?
+
+manager.properties.modified = El archivo de propiedades ha sido modificado desde la \u00faltima actualizaci\u00f3n\n\
+({0,date,long})\n\
+\u00bfDesea combinar los cambios del archivo con las propiedades actuales?
+
+manager.properties.saveError = No se pudo guardar el archivo de propiedades.\n\
+Se encontr\u00f3 el siguiente error:\n\
+{0}
+
+manager.properties.lafError =\
+ El estilo Look&Feel {0} dado en las propiedades predeterminadas no es compatible.\n\
+ Se usar\u00e1 el estilo predeterminado del sistema.
+
+manager.properties.brokenProperty = Propiedad predeterminada da\u00f1ada {0} valor: {1}
+
+manager.properties.missingProperty = Falta propiedad predeterminada {0} valor: {1}
+### parser error dialogs
+parse.title = Error de An\u00e1lisis de Properties
+parse.integer = Advertencia : {0} no es un entero v\u00e1lido.
+parse.float = Advertencia : {0} no es un n\u00famero decimal v\u00e1lido.
+parse.double = Advertencia : {0} no es un n\u00famero de doble precisi\u00f3n v\u00e1lido.
+parse.choice = Advertencia : {0} no es una opci\u00f3n v\u00e1lida.
+parse.laf = Advertencia : el estilo de interfaz {0} no es compatible.
+
+### Properties Manager Errors
+manager.properties.title = Administrador de Propiedades de ICEpdf
+fontManager.properties.title = Administrador de Fuentes de ICEpdf
+
+manager.properties.createNewDirectory = \
+ Para crear el directorio {0},\n\
+ donde el visor ICEpdf almacenar\u00e1 los cambios en su configuraci\u00f3n, haga clic en S\u00ed.\n\n\
+ Si hace clic en "No", todos los cambios que realice en la configuraci\u00f3n del visor ICEpdf\n\
+ se perder\u00e1n al cerrar la aplicaci\u00f3n. \n\n
+
+manager.properties.failedCreation = \
+ No se puede crear el directorio del visor ICEpdf para almacenar datos del usuario:\n\
+ {0}\n\
+ El visor ICEpdf no guardar\u00e1 cambios en su configuraci\u00f3n predeterminada.
+
+manager.properties.session.nolock = \
+ Error al crear el archivo de bloqueo:\n\
+ {0}\n
+
+manager.properties.session.readError = \
+ Error al cargar el archivo de propiedades:\n\
+ {0}
+
+manager.properties.deleted = El archivo de propiedades ha sido eliminado\n\
+ ({0})\n\
+ \u00bfDesea recrearlo?
+
+manager.properties.modified = El archivo de propiedades ha sido modificado desde la \u00faltima actualizaci\u00f3n\n\
+({0,date,long})\n\
+\u00bfDesea combinar los cambios del archivo con las propiedades actuales?
+
+manager.properties.saveError = No se pudo guardar el archivo de propiedades.\n\
+Se encontr\u00f3 el siguiente error:\n\
+{0}
+
+manager.properties.lafError =\
+ El estilo Look&Feel {0} dado en las propiedades predeterminadas no es compatible.\n\
+ Se usar\u00e1 el estilo predeterminado del sistema.
+
+manager.properties.brokenProperty = Propiedad predeterminada da\u00f1ada {0} valor: {1}
+
+manager.properties.missingProperty = Falta propiedad predeterminada {0} valor: {1}
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/analysisresults/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/analysisresults/Bundle_ar.properties
deleted file mode 100644
index 59b4d9c4b43..00000000000
--- a/Core/src/org/sleuthkit/autopsy/contentviewers/analysisresults/Bundle_ar.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-AnalysisResultsContentPanel_aggregateScore_displayKey=Puntuación Agregada
-AnalysisResultsContentPanel_content_displayKey=Articulo
-# {0} - analysisResultsNumber
-AnalysisResultsContentPanel_result_headerKey=Resultado del Analisis {0}
-AnalysisResultsContentViewer_setNode_errorMessage=Hubo un error cargando los resultados.
-AnalysisResultsContentViewer_setNode_loadingMessage=Cargando...
-AnalysisResultsContentViewer_title=Resultados del Analisis
-AnalysisResultsContentViewer_tooltip=Visualizador para Resultados del Analisis relacionados con el nodo seleccionado.
-AnalysisResultsViewModel_displayAttributes_conclusion=Conclusion
-AnalysisResultsViewModel_displayAttributes_configuration=Configuracion
-AnalysisResultsViewModel_displayAttributes_score=Puntuacion
-AnalysisResultsViewModel_displayAttributes_type=Tipo
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/annotations/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/annotations/Bundle_ar.properties
deleted file mode 100644
index e5cdf60863f..00000000000
--- a/Core/src/org/sleuthkit/autopsy/contentviewers/annotations/Bundle_ar.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-AnnotationsContentViewer.onEmpty=No encontramos anotaciones para este item en particular.
-AnnotationsContentViewer.title=Anotaciones
-AnnotationsContentViewer.toolTip=Muestra etiquetas y comentarios asociados con el contenido seleccionado.
-AnnotationUtils.centralRepositoryEntry.title=Comentarios del Repositorio Central
-AnnotationUtils.centralRepositoryEntryDataLabel.case=Caso:
-AnnotationUtils.centralRepositoryEntryDataLabel.comment=Comentario:
-AnnotationUtils.centralRepositoryEntryDataLabel.path=Ruta:
-AnnotationUtils.centralRepositoryEntryDataLabel.type=Tipo:
-AnnotationUtils.fileHitEntry.artifactCommentTitle=Comentario de Artefacto
-AnnotationUtils.fileHitEntry.comment=Comentario:
-AnnotationUtils.fileHitEntry.hashSetHitTitle=Comentarios de Conjuntos de Hash Hit
-AnnotationUtils.fileHitEntry.interestingFileHitTitle=Comentarios de Archivos Interesantes Encontrados
-AnnotationUtils.fileHitEntry.interestingItemTitle=Comentarios de Elementos Interesantes
-AnnotationUtils.fileHitEntry.setName=Nombre del Conjunto:
-AnnotationUtils.onEmpty=No encontramos anotaciones para este item en particular.
-AnnotationUtils.sourceFile.title=Archivo Fuente
-AnnotationUtils.tagEntry.title=Etiquetas
-AnnotationUtils.tagEntryDataLabel.comment=Comentario:
-AnnotationUtils.tagEntryDataLabel.tag=Etiqueta:
-AnnotationUtils.tagEntryDataLabel.tagUser=Examinador:
-AnnotationUtils.title=Anotaciones
-AnnotationUtils.toolTip=Muestra etiquetas y comentarios asociados con el contenido seleccionado.
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle_es.properties
similarity index 64%
rename from Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle_ar.properties
rename to Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle_es.properties
index a8dbf5cc748..258133d948a 100644
--- a/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle_ar.properties
+++ b/Core/src/org/sleuthkit/autopsy/contentviewers/artifactviewers/Bundle_es.properties
@@ -1,75 +1,81 @@
-CalllogArtifactViewer_cr_disabled_message=Habilitar Repositorio Central para ver, crear y editar personas.
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CalllogArtifactViewer_cr_disabled_message=Habilite el Repositorio Central para ver, crear y editar personas.
CallLogArtifactViewer_heading_metadata=Metadatos
CallLogArtifactViewer_heading_others=Otros Atributos
CallLogArtifactViewer_heading_parties=Partes
CallLogArtifactViewer_heading_Source=Fuente
CallLogArtifactViewer_label_datasource=Fuente de Datos
CallLogArtifactViewer_label_date=Fecha
-CallLogArtifactViewer_label_direction=Direccion
-CallLogArtifactViewer_label_duration=Duracion
+CallLogArtifactViewer_label_direction=Direcci\u00f3n
+CallLogArtifactViewer_label_duration=Duraci\u00f3n
CallLogArtifactViewer_label_from=Desde
-CallLogArtifactViewer_label_hostName=Anfitrion
-CallLogArtifactViewer_label_to=Para
+CallLogArtifactViewer_label_hostName=Host
+CallLogArtifactViewer_label_to=Hacia
CallLogArtifactViewer_suffix_local=(Local)
CallLogArtifactViewer_value_unknown=Desconocido
-# {0} - contact name
CommunicationArtifactViewerHelper_contact_label=Contacto: {0}
CommunicationArtifactViewerHelper_contact_label_unknown=Desconocido
CommunicationArtifactViewerHelper_menuitem_copy=Copiar
CommunicationArtifactViewerHelper_persona_button_create=Crear
CommunicationArtifactViewerHelper_persona_button_view=Ver
CommunicationArtifactViewerHelper_persona_label=Persona:
-CommunicationArtifactViewerHelper_persona_searching=Busqueda...
+CommunicationArtifactViewerHelper_persona_searching=Buscando...
CommunicationArtifactViewerHelper_persona_unknown=Desconocido
ContactArtifactViewer.contactImage.text=
ContactArtifactViewer_contactname_unknown=Desconocido
-ContactArtifactViewer_cr_disabled_message=Habilitar Repositorio Central para ver, crear y editar personas.
-ContactArtifactViewer_emails_header=Correo electronico
-ContactArtifactViewer_found_all_accounts_label=Se encontraron todas las cuentas.
+ContactArtifactViewer_cr_disabled_message=Habilite el Repositorio Central para ver, crear y editar personas.
+ContactArtifactViewer_emails_header=Correo Electr\u00f3nico
+ContactArtifactViewer_found_all_accounts_label=Todas las cuentas encontradas.
ContactArtifactViewer_heading_Source=Fuente
# {0} - accountIdentifer
-ContactArtifactViewer_id_not_found_in_cr=No se pudo encontrar la(s) cuenta(s) asociada(s) al contacto {0} en el Repositorio Central.
+ContactArtifactViewer_id_not_found_in_cr=No se pudo encontrar cuenta(s) asociada(s) con el contacto {0} en el Repositorio Central.
ContactArtifactViewer_label_datasource=Fuente de Datos
-ContactArtifactViewer_label_host=Anfitrion
+ContactArtifactViewer_label_host=Host
ContactArtifactViewer_missing_account_label=Cuenta de contacto faltante
ContactArtifactViewer_others_header=Otro
-ContactArtifactViewer_persona_account_justification=Cuenta encontrada en artefacto de Contacto
+ContactArtifactViewer_persona_account_justification=Cuenta encontrada en el artefacto de Contacto
ContactArtifactViewer_persona_button_new=Crear
ContactArtifactViewer_persona_button_view=Ver
ContactArtifactViewer_persona_header=Persona
ContactArtifactViewer_persona_label=Persona
ContactArtifactViewer_persona_match_num=Coincidencia
ContactArtifactViewer_persona_no_match=No se encontraron coincidencias
-ContactArtifactViewer_persona_searching=Busqueda...
+ContactArtifactViewer_persona_searching=Buscando...
ContactArtifactViewer_persona_unknown=Desconocido
-ContactArtifactViewer_phones_header=Telefono
-DataContentViewerArtifact.failedToGetAttributes.message=No se pudieron obtener algunos o todos los atributos de la base de datos de casos
-DataContentViewerArtifact.failedToGetSourcePath.message=No se pudo obtener la ruta del archivo de origen de la base de datos de casos
+ContactArtifactViewer_phones_header=Tel\u00e9fono
+DataContentViewerArtifact.failedToGetAttributes.message=Error al obtener algunos o todos los atributos de la base de datos del caso
+DataContentViewerArtifact.failedToGetSourcePath.message=Error al obtener la ruta del archivo fuente de la base de datos del caso
DefaultTableArtifactContentViewer.attrsTableHeader.sources=Fuente(s)
DefaultTableArtifactContentViewer.attrsTableHeader.type=Tipo
DefaultTableArtifactContentViewer.attrsTableHeader.value=Valor
GeneralPurposeArtifactViewer.dates.created=Creado
-GeneralPurposeArtifactViewer.dates.end=Final
-GeneralPurposeArtifactViewer.dates.start=Comienzo
-GeneralPurposeArtifactViewer.dates.time=Tiempo
+GeneralPurposeArtifactViewer.dates.end=Fin
+GeneralPurposeArtifactViewer.dates.start=Inicio
+GeneralPurposeArtifactViewer.dates.time=Hora
GeneralPurposeArtifactViewer.details.attrHeader=Detalles
-GeneralPurposeArtifactViewer.details.bookmarkHeader=Detalles del Marcador
-GeneralPurposeArtifactViewer.details.cachedHeader=Archivo en Cache
-GeneralPurposeArtifactViewer.details.cookieHeader=Detalles de la Cookie
+GeneralPurposeArtifactViewer.details.bookmarkHeader=Detalles de Marcador
+GeneralPurposeArtifactViewer.details.cachedHeader=Archivo en Cach\u00e9
+GeneralPurposeArtifactViewer.details.cookieHeader=Detalles de Cookie
GeneralPurposeArtifactViewer.details.dataSource=Fuente de Datos
GeneralPurposeArtifactViewer.details.datesHeader=Fechas
GeneralPurposeArtifactViewer.details.downloadHeader=Archivo Descargado
GeneralPurposeArtifactViewer.details.file=Archivo
-GeneralPurposeArtifactViewer.details.historyHeader=Detalles de la Visita
+GeneralPurposeArtifactViewer.details.historyHeader=Detalles de Visita
GeneralPurposeArtifactViewer.details.otherHeader=Otro
-GeneralPurposeArtifactViewer.details.searchHeader=Busqueda en la Web
+GeneralPurposeArtifactViewer.details.searchHeader=B\u00fasqueda Web
GeneralPurposeArtifactViewer.details.sourceHeader=Fuente
GeneralPurposeArtifactViewer.noFile.text=\ (ya no existe)
-GeneralPurposeArtifactViewer.term.label=Termino
+GeneralPurposeArtifactViewer.term.label=T\u00e9rmino
GeneralPurposeArtifactViewer.unknown.text=Desconocido
-GeneralPurposeArtifactViewer_details_host=Anfitrion
+GeneralPurposeArtifactViewer_details_host=Host
GeneralPurposeArtifactViewer_menuitem_copy=Copiar
-MessageAccountPanel.account.justification=Cuenta encontrada en artefacto de Mensaje
+MessageAccountPanel.account.justification=Cuenta encontrada en el artefacto de Mensaje
MessageAccountPanel_button_create_label=Crear
MessageAccountPanel_button_view_label=Ver
MessageAccountPanel_contact_label=Contacto:
@@ -82,20 +88,20 @@ MessageAccountPanel_unknown_label=Desconocido
MessageArtifactViewer.AttachmentPanel.title=Adjuntos
MessageArtifactViewer.ccLabel.text=CC:
MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
-MessageArtifactViewer.toText.text=aqui va la lista para listar
+MessageArtifactViewer.toText.text=la lista de destinatarios va aqu\u00ed
MessageArtifactViewer.toLabel.text=Para:
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
-MessageArtifactViewer.fromText.text=aqui va la direccion del remitente
-MessageArtifactViewer.datetimeText.text=aqui va la fecha
+MessageArtifactViewer.fromText.text=la direcci\u00f3n del remitente va aqu\u00ed
+MessageArtifactViewer.datetimeText.text=la fecha va aqu\u00ed
MessageArtifactViewer.headersScrollPane.TabConstraints.tabTitle=Encabezados
MessageArtifactViewer.fromLabel.text=De:
MessageArtifactViewer.accountsTab.TabConstraints.tabTitle=Cuentas
-MessageArtifactViewer.directionText.text=direccion
-MessageArtifactViewer.subjectText.text=aqui va el asunto
-MessageArtifactViewer.viewInNewWindowButton.text=Ver en Ventana Nueva
+MessageArtifactViewer.directionText.text=direcci\u00f3n
+MessageArtifactViewer.subjectText.text=el asunto va aqu\u00ed
+MessageArtifactViewer.viewInNewWindowButton.text=Ver en una Nueva Ventana
MessageArtifactViewer.subjectLabel.text=Asunto:
MessageArtifactViewer.attachmentsPanel.TabConstraints.tabTitle=Adjuntos
-MessageArtifactViewer.ccText.text=aqui va la lista de cc
+MessageArtifactViewer.ccText.text=la lista de CC va aqu\u00ed
MessageArtifactViewer.textbodyScrollPane.TabConstraints.tabTitle=Texto
DefaultTableArtifactContentViewer.selectAllMenuItem.text=Seleccionar Todo
# Copyright 2020 Basis Technology Corp.
@@ -112,8 +118,9 @@ DefaultTableArtifactContentViewer.selectAllMenuItem.text=Seleccionar Todo
# express or implied. See the License for the specific language
# governing permissions and limitations under the License.
+
DefaultTableArtifactContentViewer.copyMenuItem.text=Copiar
-PersonaAccountFetcher.account.justification=Cuenta encontrada en artefacto de Registro de Llamadas
+PersonaAccountFetcher.account.justification=Cuenta encontrada en el artefacto de Registro de Llamadas
# {0} - accountIdentifer
PersonaAccountFetcher_not_account_in_cr=No se pudo encontrar una cuenta con el identificador {0} en el Repositorio Central.
# {0} - Persona count
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/contextviewer/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/contextviewer/Bundle_ar.properties
deleted file mode 100644
index 4924bc555b1..00000000000
--- a/Core/src/org/sleuthkit/autopsy/contentviewers/contextviewer/Bundle_ar.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-ContextUsagePanel.jUsageGoToResultButton.text=Ir a Resultado
-ContextSourcePanel.jSourceGoToResultButton.text=Ir a Resultado
-ContextUsagePanel.jUsageTextLabel.text=Label2
-ContextUsagePanel.jUsageNameLabel.text=jUsageLabel
-ContextSourcePanel.jSourceTextLabel.text=Label2
-ContextSourcePanel.jSourceNameLabel.text=jSourceNameLabel
-ContextViewer.attachmentSource=Adjunto a:
-ContextViewer.downloadedOn=En
-ContextViewer.downloadSource=Descargado de:
-ContextViewer.downloadURL=URL
-ContextViewer.email=Correo electronico
-ContextViewer.jSourceLabel.text=Uso
-ContextViewer.jUsageLabel.text=Fuente
-ContextViewer.jUnknownLabel.text=Desconocido
-ContextViewer.message=Mensaje
-ContextViewer.messageFrom=De
-ContextViewer.messageOn=En
-ContextViewer.messageTo=A
-ContextViewer.on=Abierto a
-ContextViewer.programExecution=Ejecución del Programa:
-ContextViewer.recentDocs=Documentos Recientes:
-ContextViewer.runOn=Ejecutado el Programa En
-ContextViewer.runUnknown=\ Ejecutado el Programa en tiempo desconocido
-ContextViewer.title=Contexto
-ContextViewer.toolTip=Muestra contexto para el archivo seleccionado.
-ContextViewer.unknown=Abierto en tiempo desconocido
-ContextViewer.unknownSource=Desconocido
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/contextviewer/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/contextviewer/Bundle_es.properties
new file mode 100644
index 00000000000..ad985462b2f
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/contentviewers/contextviewer/Bundle_es.properties
@@ -0,0 +1,34 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ContextUsagePanel.jUsageGoToResultButton.text=Ir al Resultado
+ContextSourcePanel.jSourceGoToResultButton.text=Ir al Resultado
+ContextUsagePanel.jUsageTextLabel.text=Etiqueta2
+ContextUsagePanel.jUsageNameLabel.text=EtiquetaUso
+ContextSourcePanel.jSourceTextLabel.text=Etiqueta2
+ContextSourcePanel.jSourceNameLabel.text=EtiquetaFuente
+ContextViewer.attachmentSource=Adjunto a:
+ContextViewer.downloadedOn=En
+ContextViewer.downloadSource=Descargado de:
+ContextViewer.downloadURL=URL
+ContextViewer.email=Correo Electr\u00f3nico
+ContextViewer.jSourceLabel.text=Uso
+ContextViewer.jUsageLabel.text=Fuente
+ContextViewer.jUnknownLabel.text=Desconocido
+ContextViewer.message=Mensaje
+ContextViewer.messageFrom=De
+ContextViewer.messageOn=En
+ContextViewer.messageTo=Para
+ContextViewer.on=Abierto en
+ContextViewer.programExecution=Ejecuci\u00f3n del Programa:
+ContextViewer.recentDocs=Documentos Recientes:
+ContextViewer.runOn=Programa Ejecutado En
+ContextViewer.runUnknown=\ Programa Ejecutado en momento desconocido
+ContextViewer.title=Contexto
+ContextViewer.toolTip=Muestra el contexto del archivo seleccionado.
+ContextViewer.unknown=Abierto en momento desconocido
+ContextViewer.unknownSource=Desconocido
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle_ar.properties
deleted file mode 100644
index b820f2f2f1c..00000000000
--- a/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle_ar.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-OsAccountDataPanel_administrator_title=Administrador
-OsAccountDataPanel_basic_address=Direccion
-OsAccountDataPanel_basic_admin=Administrador
-OsAccountDataPanel_basic_creationDate=Fecha de Creacion
-OsAccountDataPanel_basic_fullname=Nombre Completo
-OsAccountDataPanel_basic_login=Inicio de Sesion
-OsAccountDataPanel_basic_title=Propiedades Basicas
-OsAccountDataPanel_basic_type=Tipo
-OsAccountDataPanel_data_accessed_title=Ultimo Inicio de Sesion
-OsAccountDataPanel_host_count_title=Conteo de Inicios de Sesion
-# {0} - hostName
-OsAccountDataPanel_host_section_title={0} Detalles
-OsAccountDataPanel_realm_address=Direccion
-OsAccountDataPanel_realm_confidence=Confianza
-OsAccountDataPanel_realm_name=Nombre
-OsAccountDataPanel_realm_scope=Alcance
-OsAccountDataPanel_realm_title=Propiedades del Dominio
-OsAccountDataPanel_realm_unknown=Desconocido
-OsAccountViewer_title=Cuenta de Sistema Operativo
-OsAccountViewer_tooltip=Visor de cuentas de Sistema Operativo relacionadas con el nodo seleccionado.
-TableDataPanel.titleLabel.text=Titulo
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle_es.properties
new file mode 100644
index 00000000000..539d8c426f0
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/contentviewers/osaccount/Bundle_es.properties
@@ -0,0 +1,28 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+OsAccountDataPanel_administrator_title=Administrador
+OsAccountDataPanel_basic_address=Direcci\u00f3n
+OsAccountDataPanel_basic_admin=Administrador
+OsAccountDataPanel_basic_creationDate=Fecha de Creaci\u00f3n
+OsAccountDataPanel_basic_fullname=Nombre Completo
+OsAccountDataPanel_basic_login=Inicio de Sesi\u00f3n
+OsAccountDataPanel_basic_objId=ID de Objeto
+OsAccountDataPanel_basic_title=Propiedades B\u00e1sicas
+OsAccountDataPanel_basic_type=Tipo
+OsAccountDataPanel_data_accessed_title=\u00daltimo Inicio de Sesi\u00f3n
+OsAccountDataPanel_host_count_title=Cantidad de Inicios de Sesi\u00f3n
+OsAccountDataPanel_host_section_title=Detalles de {0}
+OsAccountDataPanel_realm_address=Direcci\u00f3n
+OsAccountDataPanel_realm_confidence=Confianza
+OsAccountDataPanel_realm_name=Nombre
+OsAccountDataPanel_realm_scope=Alcance
+OsAccountDataPanel_realm_title=Propiedades del Reino
+OsAccountDataPanel_realm_unknown=Desconocido
+OsAccountViewer_title=Cuenta del SO
+OsAccountViewer_tooltip=Visor de cuentas del sistema operativo relacionadas con el nodo seleccionado.
+TableDataPanel.titleLabel.text=T\u00edtulo
diff --git a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_es.properties
similarity index 54%
rename from Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_ar.properties
rename to Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_es.properties
index 5869cc47615..06f15f787bd 100644
--- a/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_ar.properties
+++ b/Core/src/org/sleuthkit/autopsy/contentviewers/textcontentviewer/Bundle_es.properties
@@ -1,10 +1,17 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
StringContentPanel_Loading_String=Cargando texto...
-StringsTextViewer.goToPageTextField.msgDlg=Por favor ingrese un numero de pagina valido entre 1 y {0}
-StringsTextViewer.goToPageTextField.err=Numero de pagina invalido
-StringsTextViewer.setDataView.errorText=(no se pudo leer el desplazamiento {0}-{1})
+StringsTextViewer.goToPageTextField.msgDlg=Por favor ingrese un n\u00famero de p\u00e1gina v\u00e1lido entre 1 y {0}
+StringsTextViewer.goToPageTextField.err=N\u00famero de p\u00e1gina inv\u00e1lido
+StringsTextViewer.setDataView.errorText=(el desplazamiento {0}-{1} no se pudo leer)
StringsTextViewer.setDataView.errorNoText=(el desplazamiento {0}-{1} no contiene texto)
StringsTextViewer.title=Cadenas
-StringsTextViewer.toolTip=Muestra cadenas ASCII y Unicode extraidas del archivo.
+StringsTextViewer.toolTip=Muestra cadenas ASCII y Unicode extra\u00eddas del archivo.
StringsContentPanel.selectAllMenuItem.text=Seleccionar todo
StringsContentPanel.currentPageLabel.text_1=1
StringsContentPanel.copyMenuItem.text=Copiar
@@ -12,13 +19,13 @@ StringsContentPanel.ofLabel.text_1=de
StringsContentPanel.totalPageLabel.text_1=1000
StringsContentPanel.languageLabel.toolTipText=
StringsContentPanel.languageLabel.text=Guion:
-StringsContentPanel.languageCombo.toolTipText=Idioma a intentar al interpretar (extraer y decodificar) cadenas de datos binarios
+StringsContentPanel.languageCombo.toolTipText=Idioma a intentar al interpretar (extraer y decodificar) cadenas desde datos binarios
StringsContentPanel.goToPageTextField.text=
-StringsContentPanel.goToPageLabel.text=Ir a la pagina:
+StringsContentPanel.goToPageLabel.text=Ir a la p\u00e1gina:
StringsContentPanel.prevPageButton.text=
-StringsContentPanel.pageLabel2.text=Pagina
+StringsContentPanel.pageLabel2.text=P\u00e1gina
StringsContentPanel.nextPageButton.text=
-StringsContentPanel.pageLabel.text_1=Pagina:
+StringsContentPanel.pageLabel.text_1=P\u00e1gina:
TextContentViewer.title=Texto
TextContentViewer.tooltip=Muestra el texto asociado con el elemento seleccionado
TextContentViewerPanel.defaultName=Texto
diff --git a/Core/src/org/sleuthkit/autopsy/core/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/core/Bundle_ar.properties
deleted file mode 100644
index 62a0daa6284..00000000000
--- a/Core/src/org/sleuthkit/autopsy/core/Bundle_ar.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-Installer.closing.confirmationDialog.message=La ingestion esta en ejecucion, ¿estas seguro/a de que deseas salir?
-Installer.closing.confirmationDialog.title=La ingestion esta en ejecucion
-# {0} - exception message
-Installer.closing.messageBox.caseCloseExceptionMessage=Error al cerrar el caso: {0}
-OpenIDE-Module-Display-Category=Infraestructura
-OpenIDE-Module-Long-Description=\
- This is the core Autopsy module.\n\n\
- The module contains the core components needed for the bare application to run; the RCP platform, windowing GUI, sleuthkit bindings, datamodel / storage, explorer, result viewers, content viewers, ingest framework, reporting, and core tools, such as the file search.\n\n\
- The framework included in the module contains APIs for developing modules for ingest, viewers and reporting. \
- The modules can be deployed as Plugins using the Autopsy plugin installer.\n\
- This module should not be uninstalled - without it, Autopsy will not run.\n\n\
- For more information, see http://www.sleuthkit.org/autopsy/
-OpenIDE-Module-Name=Autopsy-Core
-OpenIDE-Module-Short-Description=Modulo principal de Autopsy
-org_sleuthkit_autopsy_core_update_center=http://sleuthkit.org/autopsy/updates.xml
-Services/AutoupdateType/org_sleuthkit_autopsy_core_update_center.settings=Centro de actualizaciones de Autopsy
-Installer.errorInitJavafx.msg=Error initializing JavaFX.
-Installer.errorInitJavafx.details=\ Algunas caracteristicas no estaran disponibles. Verifica que tengas instalado JavaFX (OpenJFX 8).
-ServicesMonitor.failedService.notify.title=El servicio esta caido
-ServicesMonitor.failedService.notify.msg=Conexion a {0} no disponible
-ServicesMonitor.restoredService.notify.title=El servicio esta activo
-ServicesMonitor.restoredService.notify.msg=Conexion a {0} establecida
-ServicesMonitor.statusChange.notify.title=Actualizacion del estado del servicio
-ServicesMonitor.statusChange.notify.msg=El estado de {0} es {1}
-ServicesMonitor.nullServiceName.excepton.txt=El nombre del servicio solicitado es nulo
-ServicesMonitor.unknownServiceName.excepton.txt=El nombre del servicio solicitado {0} es desconocido
-ServicesMonitor.KeywordSearchNull=No se puede encontrar el servicio de busqueda de palabras clave
-ServicesMonitor.InvalidPortNumber=Numero de puerto Solr 8 no valido.
-ServicesMonitor.remoteCaseDatabase.displayName.text=Servicio de base de datos de casos multiusuario
-ServicesMonitor.remoteKeywordSearch.displayName.text=Servicio de busqueda de palabras clave multiusuario
-ServicesMonitor.messaging.displayName.text=Servicio de mensajeria
-ServicesMonitor.databaseConnectionInfo.error.msg=Error al acceder a la informacion de conexion de la base de datos de casos
-ServicesMonitor.messagingService.connErr.text=Error al acceder a la informacion de conexion del servicio de mensajeria
-Actions/Case=Caso
-Menu/Case=Caso
-Toolbars/Case=Caso
-Menu/Case/OpenRecentCase=Abrir caso reciente
diff --git a/Core/src/org/sleuthkit/autopsy/core/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/core/Bundle_es.properties
new file mode 100644
index 00000000000..829ea7078ad
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/core/Bundle_es.properties
@@ -0,0 +1,48 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+Installer.closing.confirmationDialog.message=El procesamiento est\u00e1 en curso, \u00bfest\u00e1 seguro de que desea salir?
+Installer.closing.confirmationDialog.title=Procesamiento en Curso
+# {0} - exception message
+Installer.closing.messageBox.caseCloseExceptionMessage=Error al cerrar el caso: {0}
+# {0} - maxMemory
+Installer_checkMemoryAvailable_maxMemExpected_desc=La memoria m\u00e1xima de JVM: {0}, es menor a los 2 GB requeridos. Algunas funciones de la aplicaci\u00f3n pueden no funcionar como se espera.
+# {0} - physicalMemory
+Installer_checkMemoryAvailable_physicalRamExpected_desc=La memoria f\u00edsica: {0}, es menor a los 8 GB requeridos. Algunas funciones de la aplicaci\u00f3n pueden no funcionar como se espera.
+OpenIDE-Module-Display-Category=Infraestructura
+OpenIDE-Module-Long-Description=\
+ Este es el m\u00f3dulo central de Autopsy.\n\n\
+ El m\u00f3dulo contiene los componentes esenciales necesarios para que la aplicaci\u00f3n funcione: la plataforma RCP, la interfaz de usuario con ventanas, enlaces a sleuthkit, modelo de datos / almacenamiento, explorador, visores de resultados, visores de contenido, marco de procesamiento, informes y herramientas centrales como la b\u00fasqueda de archivos.\n\n\
+ El marco incluido en el m\u00f3dulo contiene APIs para desarrollar m\u00f3dulos de procesamiento, visores e informes.\
+ Los m\u00f3dulos pueden instalarse como Plugins usando el instalador de plugins de Autopsy.\n\
+ Este m\u00f3dulo no debe desinstalarse: sin \u00e9l, Autopsy no funcionar\u00e1.\n\n\
+ Para m\u00e1s informaci\u00f3n, visite http://www.sleuthkit.org/autopsy/
+OpenIDE-Module-Name=Autopsy-Core
+OpenIDE-Module-Short-Description=M\u00f3dulo Principal de Autopsy
+org_sleuthkit_autopsy_core_update_center=http://sleuthkit.org/autopsy/updates.xml
+Services/AutoupdateType/org_sleuthkit_autopsy_core_update_center.settings=Centro de Actualizaci\u00f3n de Autopsy
+Installer.errorInitJavafx.msg=Error al inicializar JavaFX.
+Installer.errorInitJavafx.details=\ Algunas funciones no estar\u00e1n disponibles. Verifique que tenga JavaFX instalado (OpenJFX 11).
+ServicesMonitor.failedService.notify.title=El Servicio Est\u00e1 Ca\u00eddo
+ServicesMonitor.failedService.notify.msg=La conexi\u00f3n con {0} est\u00e1 ca\u00edda
+ServicesMonitor.restoredService.notify.title=El Servicio Est\u00e1 Activo
+ServicesMonitor.restoredService.notify.msg=La conexi\u00f3n con {0} est\u00e1 activa
+ServicesMonitor.statusChange.notify.title=Actualizaci\u00f3n de Estado del Servicio
+ServicesMonitor.statusChange.notify.msg=El estado de {0} es {1}
+ServicesMonitor.nullServiceName.excepton.txt=El nombre del servicio solicitado es nulo
+ServicesMonitor.unknownServiceName.excepton.txt=El nombre del servicio solicitado {0} es desconocido
+ServicesMonitor.KeywordSearchNull=No se puede encontrar el servicio de B\u00fasqueda por Palabras Clave
+ServicesMonitor.InvalidPortNumber=N\u00famero de puerto Solr 8 inv\u00e1lido.
+ServicesMonitor.remoteCaseDatabase.displayName.text=Servicio de base de datos para casos multiusuario
+ServicesMonitor.remoteKeywordSearch.displayName.text=Servicio de b\u00fasqueda por palabras clave multiusuario
+ServicesMonitor.messaging.displayName.text=Servicio de mensajer\u00eda
+ServicesMonitor.databaseConnectionInfo.error.msg=Error al acceder a la informaci\u00f3n de conexi\u00f3n de la base de datos del caso
+ServicesMonitor.messagingService.connErr.text=Error al acceder a la informaci\u00f3n de conexi\u00f3n del servicio de mensajer\u00eda
+Actions/Case=Caso
+Menu/Case=Caso
+Toolbars/Case=Caso
+Menu/Case/OpenRecentCase=Abrir Caso Reciente
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_ar.properties
deleted file mode 100644
index fe70772bebf..00000000000
--- a/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_ar.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-CoreComponentControl.CTL_DirectoryTreeTopComponent=Arbol de Directorios
-CoreComponentControl.CTL_FavoritesTopComponent=Favoritos
-OpenIDE-Module-Name=Interfaces de Componentes Principales
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_es.properties
new file mode 100644
index 00000000000..b7957f74865
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/corecomponentinterfaces/Bundle_es.properties
@@ -0,0 +1,43 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+MSG_AlreadyRunning=Ya parece estar ejecutándose una instancia del programa con su directorio de usuario.\n\
+Puede que una sesión anterior del programa no se haya cerrado correctamente, o que otra instancia\n\
+del programa se esté ejecutando en un equipo diferente utilizando el mismo directorio de usuario.\n\
+\n\
+Si otra sesión del programa está utilizando el mismo directorio de usuario, haga clic en\n\
+Cancelar para evitar la corrupción del directorio de usuario. Si está seguro de que no hay\n\
+otras instancias del programa en ejecución con su directorio de usuario, haga clic en Aceptar para continuar.
+
+MSG_AlreadyRunningTitle=Advertencia
+
+MSG_CannotWrite=Una instancia del programa no puede acceder al directorio de usuario especificado.\n\
+Este es un problema grave que puede impedir que el programa funcione correctamente.\n\
+Asegúrese de que {0} sea escribible.\n\
+\n\
+Haga clic en Aceptar para continuar a pesar del error anterior.
+
+MSG_CannotWriteTitle=Advertencia
+
+EXC_not_a_module={0} no es un módulo válido de NetBeans.
+
+# {0} - nombres de módulos
+MSG_ENABLE_MISSING=No se puede habilitar {0}
+
+# bootstrap manifest
+OpenIDE-Module-Name=Inicio
+OpenIDE-Module-Display-Category=Infraestructura
+OpenIDE-Module-Short-Description=El núcleo de arranque de las aplicaciones basadas en NetBeans.
+OpenIDE-Module-Long-Description=\
+ Este módulo proporciona la infraestructura inicial \
+ que carga todas las demás partes de la aplicación. \
+ No se puede deshabilitar.
+
+MSG_InstallJava7=No se puede ejecutar en versiones anteriores a Java 7 Standard Edition.\n\
+ Por favor, instale Java 7 Standard Edition o posterior, o utilice la opción --jdkhome\n\
+ para indicar el directorio de instalación.
+
+MSG_NeedsJava7=Se requiere Java 7 Standard Edition o una versión más reciente
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ar.properties
deleted file mode 100644
index 0c7f6e41e0a..00000000000
--- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_ar.properties
+++ /dev/null
@@ -1,324 +0,0 @@
-AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.invalidImageSpecified.text=Archivo de imagen especificado no valido.
-AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.invalidPath.text=Ruta no valida.
-AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.pathNotSet.text=La ruta del logotipo de la agencia debe establecerse.
-AutopsyOptionsPanel.invalidImageFile.msg=El archivo seleccionado no pudo usarse como logotipo de la agencia.
-AutopsyOptionsPanel.invalidImageFile.title=Archivo de Imagen No Valido
-AutopsyOptionsPanel.logNumAlert.invalidInput.text=Se requiere un numero entero positivo aqui.
-AutopsyOptionsPanel.memFieldValidationLabel.developerMode.text=La configuracion de memoria no esta disponible mientras se ejecuta en modo desarrollador
-AutopsyOptionsPanel.memFieldValidationLabel.invalidCharacters.text=Caracteres no validos, el valor debe ser un numero entero positivo
-AutopsyOptionsPanel.memFieldValidationLabel.not64BitInstall.text=Configuracion de memoria JVM solo habilitada para la version de 64 bits
-AutopsyOptionsPanel.memFieldValidationLabel.noValueEntered.text=No se ha ingresado ningun valor
-# {0} - systemMemory
-AutopsyOptionsPanel.memFieldValidationLabel.overMaxMemory.text=El valor debe ser menor que la memoria total del sistema de {0} GB
-# {0} - minimumMemory
-AutopsyOptionsPanel.memFieldValidationLabel.underMinMemory.text=El valor debe ser al menos {0} GB
-AutopsyOptionsPanel_heapDumpBrowseButtonActionPerformed_fileAlreadyExistsMessage=El archivo ya existe. Por favor, selecciona una nueva ubicacion.
-AutopsyOptionsPanel_heapDumpBrowseButtonActionPerformed_fileAlreadyExistsTitle=Archivo ya Existe
-AutopsyOptionsPanel_isHeapPathValid_developerMode=No se puede cambiar la ruta del volcado de memoria mientras se esta en modo de desarrollador.
-AutopsyOPtionsPanel_isHeapPathValid_illegalCharacters=Por favor, selecciona una ruta sin comillas.
-AutopsyOptionsPanel_isHeapPathValid_not64BitMachine=Cambiar la configuracion de la ruta del volcado de memoria solo esta habilitado para la version de 64 bits.
-AutopsyOptionsPanel_isHeapPathValid_selectValidDirectory=Por favor, selecciona un directorio existente.
-AutopsyOptionsPanel_storeTempDir_onChoiceError_description=Hubo un error al actualizar la seleccion de la opcion de directorio temporal.
-AutopsyOptionsPanel_storeTempDir_onChoiceError_title=Error al Guardar la Eleccion del Directorio Temporal
-# {0} - path
-AutopsyOptionsPanel_storeTempDir_onError_description=Hubo un error al crear el directorio temporal en el sistema de archivos en: {0}.
-AutopsyOptionsPanel_storeTempDir_onError_title=Error al Guardar el Directorio Temporal
-# {0} - path
-AutopsyOptionsPanel_tempDirectoryBrowseButtonActionPerformed_onInvalidPath_description=No se pudo crear el directorio temporal dentro de la ruta especificada: {0}
-AutopsyOptionsPanel_tempDirectoryBrowseButtonActionPerformed_onInvalidPath_title=La ruta no puede ser utilizada
-CTL_CustomAboutAction=Acerca de
-CTL_DataContentAction=DataContent
-CTL_DataContentTopComponent=Contenido de Datos
-CTL_OfflineHelpAction=Documentacion de Autopsy sin Conexion
-CTL_OnlineHelpAction=Documentacion de Autopsy en Linea
-DataArtifactContentViewer.failedToGetAttributes.message=Error al obtener algunos o todos los atributos de la base de datos del caso
-DataArtifactContentViewer.failedToGetSourcePath.message=Error al obtener la ruta del archivo fuente de la base de datos del caso
-DataContentViewerHex.copyingFile=Copiando archivo para abrirlo en HxD...
-DataContentViewerHex.launchError=No se pudo iniciar HxD Editor. Por favor, especifica la ubicacion de instalacion de HxD en Herramientas -> Opciones -> Visor Externo
-DataContentViewerHex_loading_text=Cargando hexadecimal desde archivo...
-DataResultViewerTable.commentRender.name=C
-DataResultViewerTable.commentRender.toolTip=C (Comentarios) indica si el elemento tiene un comentario
-DataResultViewerTable.commentRenderer.crAndTagComment.toolTip=Los comentarios existen tanto en el Repositorio Central como en las etiquetas asociadas
-DataResultViewerTable.commentRenderer.crComment.toolTip=El comentario existe en el Repositorio Central
-DataResultViewerTable.commentRenderer.noComment.toolTip=No se encontraron comentarios
-DataResultViewerTable.commentRenderer.tagComment.toolTip=El comentario existe en las etiquetas asociadas
-DataResultViewerTable.countRender.name=O
-DataResultViewerTable.countRender.toolTip=O (Ocurrencias) indica la cantidad de fuentes de datos que contienen el elemento en el Repositorio Central
-DataResultViewerTable.exportCSVButtonActionPerformed.empty=No hay datos para exportar
-DataResultViewerTable.firstColLbl=Nombre
-DataResultViewerTable.goToPageTextField.err=Numero de pagina no valido
-# {0} - totalPages
-DataResultViewerTable.goToPageTextField.msgDlg=Por favor, ingresa un numero de pagina valido entre 1 y {0}
-# {0} - currentPage
-# {1} - totalPages
-DataResultViewerTable.pageNumbers.curOfTotal={0} de {1}
-DataResultViewerTable.scoreRender.name=S
-DataResultViewerTable.scoreRender.toolTip=S (Nucleo) indica si el elemento es interesante o notable
-DataResultViewerTable.title=Tabla
-DataResultViewerThumbnail.sortLabel.text=Ordenado por: ---
-# {0} - sort criteria
-DataResultViewerThumbnail.sortLabel.textTemplate=Ordenado por: {0}
-DataResultViewerThumbnail.thumbnailSizeComboBox.large=Miniaturas Grandes
-DataResultViewerThumbnail.thumbnailSizeComboBox.medium=Miniaturas Medianas
-DataResultViewerThumbnail.thumbnailSizeComboBox.small=Miniaturas Pequenias
-MultiUserSettingsPanel_Close_Case_To_Modify=Cerrar caso para modificar la configuracion
-OptionsCategory_Name_General=Aplicacion
-OptionsCategory_Keywords_General=Opciones de Autopsy
-HINT_DataContentTopComponent=Esta es una ventana de Contenido de Datos
-HINT_NodeTableTopComponent=Esta es una ventana de Resultados de Datos
-OpenIDE-Module-Name=CoreComponents
-DataContentViewerHex.prevPageButton.text=
-DataContentViewerHex.nextPageButton.text=
-DataContentViewerHex.pageLabel.text_1=Pagina:
-DataContentViewerHex.currentPageLabel.text_1=1
-DataContentViewerHex.ofLabel.text_1=de
-DataContentViewerHex.totalPageLabel.text_1=100
-DataContentViewerHex.pageLabel2.text=Pagina
-
-# {0} - file name
-ThumbnailViewNode.progressHandle.text=Generando miniatura para {0}
-SortChooser.dialogTitle=Elegir Criterio de Ordenacion
-ThumbnailViewChildren.progress.cancelling=(Cancelando)
-# Product Information panel
-LBL_Description=\n Product Version: {0} ({9})
Sleuth Kit Version: {7}
Netbeans RCP Build: {8}
Java: {1}; {2}
System: {3}; {4}; {5}
Userdir: {6}
-Format_OperatingSystem_Value={0} version {1} running on {2}
-LBL_Copyright=Autopsy™ is a digital forensics platform based on The Sleuth Kit™ and other tools.
Copyright © 2003-2020.
-URL_ON_IMG=http://www.sleuthkit.org/
-FILE_FOR_LOCAL_HELP=file:///
-INDEX_FOR_LOCAL_HELP=/docs/index.html
-LBL_Close=Cerrar
-DataContentViewerHex.copyMenuItem.text=Copiar
-DataContentViewerHex.selectAllMenuItem.text=Seleccionar Todo
-DataArtifactContentViewer.totalPageLabel.text=100
-DataArtifactContentViewer.prevPageButton.text=
-DataArtifactContentViewer.pageLabel2.text=Resultado
-DataArtifactContentViewer.nextPageButton.text=
-DataArtifactContentViewer.currentPageLabel.text=1
-DataArtifactContentViewer.ofLabel.text=de
-DataArtifactContentViewer.pageLabel.text=Resultado:
-AdvancedConfigurationDialog.applyButton.text=OK
-DataContentViewerHex.goToPageTextField.text=
-DataContentViewerHex.goToPageLabel.text=Ir a Pagina:
-DataResultViewerThumbnail.pageLabel.text=Pagina:
-DataResultViewerThumbnail.pagesLabel.text=Paginas:
-DataResultViewerThumbnail.pagePrevButton.text=
-DataResultViewerThumbnail.pageNextButton.text=
-DataResultViewerThumbnail.imagesLabel.text=Imagenes:
-DataResultViewerThumbnail.imagesRangeLabel.text=-
-DataResultViewerThumbnail.pageNumLabel.text=-
-DataResultViewerThumbnail.filePathLabel.text=\ \ \
-DataResultViewerThumbnail.goToPageLabel.text=Ir a Pagina:
-DataResultViewerThumbnail.goToPageField.text=
-AdvancedConfigurationDialog.cancelButton.text=Cancelar
-DataArtifactContentViewer.waitText=Recuperando y preparando datos, por favor espera...
-DataArtifactContentViewer.errorText=Error al recuperar el resultado
-DataArtifactContentViewer.title=Artefactos de Datos
-DataArtifactContentViewer.toolTip=Muestra los Resultados asociados al archivo
-DataContentViewerHex.goToPageTextField.msgDlg=Por favor, ingresa un numero de pagina valido entre 1 y {0}
-DataContentViewerHex.goToPageTextField.err=Numero de pagina no valido
-DataContentViewerHex.setDataView.errorText=(no se pudo leer el desplazamiento {0}-{1})
-DataContentViewerHex.title=Hex
-DataContentViewerHex.toolTip=Muestra el contenido binario de un archivo en hexadecimal, con bytes que se pueden mostrar como caracteres ASCII a la derecha.
-DataResultPanel.pleasewaitNodeDisplayName=Por favor, espera...
-DataResultViewerTable.illegalArgExc.noChildFromParent=No se pudo obtener un Nodo secundario del Nodo padre proporcionado.
-DataResultViewerTable.illegalArgExc.childWithoutPropertySet=El Nodo secundario no tiene el PropertySet regular.
-DataResultViewerThumbnail.title=Miniatura
-DataResultViewerThumbnail.goToPageTextField.msgDlg=Por favor, ingresa un numero de pagina valido entre 1 y {0}
-DataResultViewerThumbnail.goToPageTextField.err=Numero de pagina no valido
-DataResultViewerThumbnail.genThumbs=Generando Miniaturas...
-DataResultViewerThumbnail.pageNumbers.curOfTotal={0} de {1}
-GeneralOptionsPanelController.moduleErr=Error del Modulo
-GeneralOptionsPanelController.moduleErr.msg=Un modulo provoco un error al escuchar actualizaciones de GeneralOptionsPanelController. Consulta el registro para determinar que modulo. Es posible que algunos datos esten incompletos..
-ProductInformationPanel.verbLoggingEnabled.text=Registro detallado habilitado
-ProductInformationPanel.propertyUnknown.text=desconocido
-ProductInformationPanel.getVMValue.text={0} {1}
-TableFilterNode.displayName.text=Nombre
-DataResultViewerThumbnail.comboBox.smallThumbnails=Miniaturas Pequenias
-DataResultViewerThumbnail.comboBox.mediumThumbnails=Miniaturas Medianas
-DataResultViewerThumbnail.comboBox.largeThumbnails=Miniaturas Grandes
-DataResultViewerThumbnail.switchPage.done.errMsg=Error al crear miniaturas: {0}
-AboutWindowPanel.actVerboseLogging.text=Activar registro detallado
-OptionsCategory_Name_Multi_User_Settings=Multiusuario
-OptionsCategory_Keywords_Multi_User_Options=Configuracion Multiusuario
-MultiUserSettingsPanel.cbEnableMultiUser.text=Habilitar casos multiusuario
-MultiUserSettingsPanel.lbDatabaseSettings.text=Configuracion del Servidor de Base de Datos
-MultiUserSettingsPanel.validationErrMsg.incomplete=Completa todos los valores
-MultiUserSettingsPanel.nonWindowsOs.msg=Los casos multiusuario solo estan disponibles en plataformas Windows
-MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=Numero de puerto de base de datos no valido
-MultiUserSettingsPanel.validationErrMsg.invalidMessageServicePort=Numero de puerto de servicio de mensajes no valido
-MultiUserSettingsPanel.validationErrMsg.invalidIndexingServerPort=Numero de puerto de servidor Solr 8 no valido
-MultiUserSettingsPanel.validationErrMsg.invalidSolr4ServerPort=Numero de puerto de servidor Solr 4 no valido
-MultiUserSettingsPanel.validationErrMsg.invalidZkServerPort=Numero de puerto de servidor ZooKeeper no valido
-MultiUserSettingsPanel.validationErrMsg.invalidZkServerHostName=Nombre de host del servidor ZooKeeper no establecido
-MultiUserSettingsPanel.validationErrMsg.solrNotConfigured=Se debe configurar el servidor Solr 8 y/o el servidor Solr 4
-MultiUserSettingsPanel.validationErrMsg.invalidMessgeServiceURI=El host y/o puerto del servicio de mensajes no son validos
-DataContentViewerHex.goToOffsetLabel.text=Saltar a Desplazamiento
-DataContentViewerHex.goToOffsetTextField.text=
-DataContentViewerHex.goToOffsetTextField.msgDlg=Desplazamiento no valido: {0}
-DataContentViewerHex.setDataView.invalidOffset.negativeOffsetValue=No se puede saltar al desplazamiento resultante
-MultiUserSettingsPanel.tbOops.text=
-MultiUserSettingsPanel.lbTestDatabase.text=
-MultiUserSettingsPanel.bnTestDatabase.text=Probar Conexion
-MultiUserSettingsPanel.tbDbHostname.toolTipText=Nombre de host o direccion IP
-MultiUserSettingsPanel.tbDbHostname.text=
-MultiUserSettingsPanel.tbDbPort.toolTipText=Numero de puerto
-MultiUserSettingsPanel.tbDbPort.text=
-MultiUserSettingsPanel.tbDbUsername.toolTipText=Nombre de usuario
-MultiUserSettingsPanel.tbDbUsername.text=
-MultiUserSettingsPanel.tbDbPassword.toolTipText=Contrasenia
-MultiUserSettingsPanel.tbDbPassword.text=
-MultiUserSettingsPanel.lbTestMessageService.text=
-MultiUserSettingsPanel.bnTestMessageService.text=Probar Conexion
-MultiUserSettingsPanel.lbMessageServiceSettings.text=Configuracion del Servidor de Mensajes ActiveMQ
-MultiUserSettingsPanel.tbMsgPort.toolTipText=Numero de Puerto
-MultiUserSettingsPanel.tbMsgPort.text=
-MultiUserSettingsPanel.tbMsgUsername.toolTipText=Nombre de Usuario (opcional)
-MultiUserSettingsPanel.tbMsgUsername.text=
-MultiUserSettingsPanel.tbMsgPassword.toolTipText=Contrasenia (opcional)
-MultiUserSettingsPanel.tbMsgPassword.text=
-MultiUserSettingsPanel.tbMsgHostname.toolTipText=Nombre de Host o Direccion IP
-MultiUserSettingsPanel.tbMsgHostname.text=
-MultiUserSettingsPanel.lbTestMessageWarning.text=
-MultiUserSettingsPanel.lbTestDbWarning.text=
-MultiUserSettingsPanel.KeywordSearchNull=No se puede encontrar el servicio de busqueda por palabra clave
-MultiUserSettingsPanel.Solr4ConnectionInfoMissing.error=Falta o es incompleta la informacion de conexion a Solr 4
-MultiUserSettingsPanel.Solr8ConnectionInfoMissing.error=Falta o es incompleta la informacion de conexion a Solr 8
-MultiUserSettingsPanel.UnableToConnectToZK=No se puede conectar al servicio de ZooKeeper
-MultiUserSettingsPanel.InvalidPortNumber=Numero de puerto no valido
-AutopsyOptionsPanel.agencyLogoImageLabel.toolTipText=
-SortChooserDialog.label=Eliminar
-SortChooser.addCriteriaButton.text=Agregar Criterio de Ordenacion
-DataResultViewerThumbnail.sortButton.text=Ordenar
-CriterionChooser.ascendingRadio.text=\u25b2 Ascendente\n
-CriterionChooser.removeButton.text=Eliminar
-CriterionChooser.descendingRadio.text=\u25bc Descendente
-DataResultPanel.matchLabel.text=Resultados
-DataResultPanel.numberOfChildNodesLabel.text=0
-DataResultPanel.descriptionLabel.text=directoryPath (ruta de directorio)
-ViewOptionsController.moduleErr=Error procesando cambios de valor.
-ViewOptionsController.moduleErr.msg=Fallo en el procesamiento de cambios de valor.
-ViewPreferencesPanel.currentCaseSettingsPanel.border.title=Configuracion Actual del Caso
-OptionsCategory_Name_View=Ver
-OptionsCategory_Keywords_View=Vista
-ViewPreferencesPanel.currentSessionSettingsPanel.border.title=Configuracion Actual de la Sesion
-ViewPreferencesPanel.hideRejectedResultsCheckbox.text=Ocultar resultados rechazados
-DataContentViewerHex.launchHxDButton.text=Abrir en HxD
-ExternalViewerGlobalSettingsPanel.jButton2.text=jButton2
-ExternalViewerGlobalSettingsPanel.newRuleButton1.text=Nueva Regla
-ExternalViewerGlobalSettingsPanel.newRuleButton.text=Nueva Regla
-ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text=Examinar
-ExternalViewerGlobalSettingsPanel.jLabel2.text=Establecer extensiones de visor de contenido ejecutable
-ExternalViewerGlobalSettingsPanel.jLabel1.text=Ruta de HxD Editor:
-ExternalViewerGlobalSettingsPanel.editRuleButton.text=Editar Regla
-ExternalViewerGlobalSettingsPanel.deleteRuleButton.text=Eliminar Regla
-ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text=Establecer visor de aplicacion para archivos con tipos de MIME/extensiones especificos:
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title1=Aplicacion
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title0=Tipo de MIME/Extension
-AddExternalViewerRulePanel.nameLabel.text=Tipo de MIME o extension
-AddExternalViewerRulePanel.browseButton.text=Examinar
-AddExternalViewerRulePanel.exePathTextField.text=
-AddExternalViewerRulePanel.exePathLabel.text=Ruta del programa a utilizar para archivos con este tipo o extension
-AddExternalViewerRulePanel.extRadioButton.text=Extension
-AddExternalViewerRulePanel.mimeRadioButton.text=Tipo de MIME
-AddExternalViewerRulePanel.nameTextField.text=
-ExternalViewerGlobalSettingsPanel.jButton2.text_1=jButton2
-ExternalViewerGlobalSettingsPanel.newRuleButton1.text_1=Nueva Regla
-ExternalViewerGlobalSettingsPanel.newRuleButton.text_1=Nueva Regla
-ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text_1=Examinar
-ExternalViewerGlobalSettingsPanel.jLabel2.text_1=Establecer extensiones de visor de contenido ejecutable
-ExternalViewerGlobalSettingsPanel.jLabel1.text_1=Ruta de HxD Editor:
-ExternalViewerGlobalSettingsPanel.HxDPath.text=C:/Program Files/HxD/HxD.exe
-ExternalViewerGlobalSettingsPanel.editRuleButton.text_1=Editar Regla
-ExternalViewerGlobalSettingsPanel.deleteRuleButton.text_1=Eliminar Regla
-ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text_1=Establecer visor de aplicacion para archivos con tipos de MIME/extensiones especificos:
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title1_1=Aplicacion
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title0_1=Tipo de MIME/Extension
-DataResultViewerTable.gotoPageTextField.text=
-DataResultViewerTable.gotoPageLabel.AccessibleContext.accessibleName=
-DataResultViewerTable.gotoPageLabel.text=Ir a Pagina:
-DataResultViewerTable.pageNextButton.text=
-DataResultViewerTable.pagePrevButton.text=
-DataResultViewerTable.pagesLabel.text=Paginas:
-DataResultViewerTable.pageNumLabel.text=
-DataResultViewerTable.pageLabel.text=Pagina:
-DataResultViewerTable.exportCSVButton.text=Guardar Tabla como CSV
-MultiUserSettingsPanel.tbSolr4Hostname.toolTipText=Solr 4 Nombre de Host o Direccion IP
-MultiUserSettingsPanel.tbSolr4Port.toolTipText=Numero de Puerto de Solr 4
-MultiUserSettingsPanel.lbZkSettings.text=Configuracion del Servidor ZooKeeper
-MultiUserSettingsPanel.lbSolr4Settings.text=Configuracion del Servidor Solr 4
-MultiUserSettingsPanel.lbSolr8Settings.text=Configuracion del Servidor Solr 8
-MultiUserSettingsPanel.tbZkHostname.toolTipText=Nombre de Host o Direccion IP de ZooKeeper. ZooKeeper integrado generalmente se ejecuta en el mismo host que el servidor Solr.
-MultiUserSettingsPanel.tbZkPort.toolTipText=Numero de puerto de ZooKeeper. ZooKeeper integrado utiliza un numero de puerto que es 1,000 mayor que el numero de puerto del servicio Solr. Por ejemplo, si el numero de puerto del servicio Solr es 8983, entonces el numero de puerto de ZooKeeper integrado es 9983.
-MultiUserSettingsPanel.tbSolr8Hostname.toolTipText=Solr 8 Nombre de Host o Direccion IP
-MultiUserSettingsPanel.tbSolr8Port.toolTipText=Numero de Puerto de Solr 8
-MultiUserSettingsPanel.restartRequiredLabel.text=Se requiere reiniciar la aplicacion para que los cambios surtan efecto.
-MultiUserSettingsPanel.MustRestart=Autopsy debe reiniciarse para que la nueva configuracion surta efecto
-MultiUserSettingsPanel.lbSolrNote1.text=Ingresa la configuracion del servidor Solr 8 y/o Solr 4.
-MultiUserSettingsPanel.lbSolrNote2.text=La nueva indexacion de texto solo se puede realizar con Solr 8.
-AutopsyOptionsPanel.tempDirectoryBrowseButton.text=Examinar
-AutopsyOptionsPanel.a.AccessibleContext.accessibleName=Directorio Temporal
-AutopsyOptionsPanel.tempDirectoryPanel.AccessibleContext.accessibleName=Directorio Temporal
-AutopsyOptionsPanel.tempDirectoryPanel.name=Directorio Temporal
-AutopsyOptionsPanel.tempDirectoryPanel.border.title=Directorio Temporal Raiz
-AutopsyOptionsPanel.tempDirectoryWarningLabel.text=Cierra el caso actual para cambiar el directorio temporal.
-AutopsyOptionsPanel.solrJVMHeapWarning.text=NOTA: Establecer un valor demasiado grande puede afectar el rendimiento general.
-AutopsyOptionsPanel.maxMemoryUnitsLabel2.text=MB
-AutopsyOptionsPanel.maxSolrMemoryLabel.text=Memoria Maxima de JVM de Solr:
-AutopsyOptionsPanel.logNumAlert.text=
-AutopsyOptionsPanel.maxLogFileCount.text=Archivos de Registro Maximos:
-AutopsyOptionsPanel.restartNecessaryWarning.text=Es necesario reiniciar para que los cambios de memoria surtan efecto.
-AutopsyOptionsPanel.totalMemoryLabel.text=Memoria Total del Sistema:
-AutopsyOptionsPanel.maxMemoryUnitsLabel.text=GB
-AutopsyOptionsPanel.maxMemoryLabel.text=Memoria Maxima de JVM:
-AutopsyOptionsPanel.runtimePanel.border.title=Tiempo de Ejecucion
-ViewPreferencesPanel.maxResultsLabel.toolTipText=\nEstablecer este valor en 0 mostrara todos los resultados en la tabla de resultados.\n
Ten en cuenta que configurar este valor como 0 puede resultar en una respuesta deficiente de la interfaz de usuario cuando hay un gran numero de resultados.\n
-ViewPreferencesPanel.maxResultsLabel.text=Numero maximo de resultados para mostrar en la tabla:
-ViewPreferencesPanel.fileNameTranslationColumnCheckbox.text=Agregar columna en el visor de resultados para la traduccion de nombres de archivo.
-ViewPreferencesPanel.scoColumnsWrapAroundText.text=para reducir los tiempos de carga.
-ViewPreferencesPanel.translateTextLabel.text=Traducir texto:
-ViewPreferencesPanel.scoColumnsCheckbox.text=S(nucleo), C(omentarios) y O(currencias)
-ViewPreferencesPanel.scoColumnsLabel.text=No agregar columnas para:
-ViewPreferencesPanel.hideOtherUsersTagsLabel.text=Ocultar etiquetas de otros usuarios en ele:
-ViewPreferencesPanel.hideOtherUsersTagsCheckbox.text=area de Etiquetas en el arbol
-ViewPreferencesPanel.useAnotherTimeRadioButton.text=Usar otra zona horaria
-ViewPreferencesPanel.useLocalTimeRadioButton.text=Usar la zona horaria local
-ViewPreferencesPanel.displayTimeLabel.text=Al mostrar las horas:
-ViewPreferencesPanel.viewsHideSlackCheckbox.text=area de Vistas
-ViewPreferencesPanel.dataSourcesHideSlackCheckbox.text=area de Fuentes de Datos (la jerarquia de directorios)
-ViewPreferencesPanel.hideSlackFilesLabel.text=Ocultar archivos de "slack" en el:
-ViewPreferencesPanel.viewsHideKnownCheckbox.text=area de Vistas
-ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text=area de Fuentes de Datos (la jerarquia de directorios)
-ViewPreferencesPanel.hideKnownFilesLabel.text=Ocultar archivos conocidos (es decir, los de NIST NSRL) en el:
-ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText=Por ejemplo, permanecer en la vista Hex cuando se selecciona un archivo JPEG.
-ViewPreferencesPanel.keepCurrentViewerRadioButton.text=Permanecer en el mismo visor de archivos
-ViewPreferencesPanel.useBestViewerRadioButton.toolTipText=Por ejemplo, cambiar de Hex a Multimedia cuando se selecciona un archivo JPEG.
-ViewPreferencesPanel.useBestViewerRadioButton.text=Cambiar al visor de archivos mas especifico
-ViewPreferencesPanel.selectFileLabel.text=Al seleccionar un archivo:
-ViewPreferencesPanel.globalSettingsPanel.border.title=Configuracion Global
-MultiUserSettingsPanel.bnTestSolr8.text=Probar Conexion
-MultiUserSettingsPanel.lbTestSolr8.text=
-MultiUserSettingsPanel.bnTestSolr4.text=Probar Conexion
-MultiUserSettingsPanel.lbTestSolr4.text=
-MultiUserSettingsPanel.bnTestZK.text=Probar Conexion
-MultiUserSettingsPanel.lbTestZK.text=
-MultiUserSettingsPanel.lbWarning.text=
-AutopsyOptionsPanel.rdpPanel.border.title=Escalado de Alta DPI de Windows
-AutopsyOptionsPanel.sizingTextPane.text=Realice los siguientes cambios si la aplicacion es dificil de navegar en sistemas de Alta DPI:\n\n1. Haz clic derecho en el icono de la aplicacion en tu escritorio, menu de inicio, etc..\n2. Cambiar las propiedades\n3. Ir a la pestania "Compatibilidad"\n4. Hacer clic en el boton "Cambiar configuracion de alta DPI"\n5. Seleccionar "Anular el comportamiento de escala de alta DPI" \n6. Cambiar la opcion del menu desplegable "Escala realizada por:" a "Sistema"\n7. Reiniciar Autopsy
-AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.text=
-AutopsyOptionsPanel.specifyLogoRB.text=Especificar un logotipo
-AutopsyOptionsPanel.defaultLogoRB.text=Usar el predeterminado
-AutopsyOptionsPanel.agencyLogoPreview.text=No logo
selected
-AutopsyOptionsPanel.browseLogosButton.text=Examinar
-AutopsyOptionsPanel.agencyLogoPathField.text=
-AutopsyOptionsPanel.logoPanel.border.title=Logotipo
-ViewPreferencesPanel.radioGroupByPersonHost.text=Agrupar por Persona/Host
-ViewPreferencesPanel.radioGroupByDataType.text=Agrupar por Tipo de Datos
-AutopsyOptionsPanel.tempLocalRadio.text=Directorio temporal local
-AutopsyOptionsPanel.tempCaseRadio.text=Carpeta temporal en el directorio del caso
-AutopsyOptionsPanel.tempCustomRadio.text=Personalizado
-AutopsyOptionsPanel.tempCustomField.text=
-AutopsyOptionsPanel.tempOnCustomNoPath.text=Por favor, seleccione una ruta para el directorio temporal raiz personalizado.
-AutopsyOptionsPanel.heapDumpFileField.text=
-AutopsyOptionsPanel.heapDumpBrowseButton.text=Examinar
-AutopsyOptionsPanel.heapFileLabel.text=Ubicacion Personalizada de Captura de Memoria (Heap Dump):
-AutopsyOptionsPanel.heapFieldValidationLabel.text=
diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_es.properties
new file mode 100644
index 00000000000..ffd60ab3d1c
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle_es.properties
@@ -0,0 +1,331 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.invalidImageSpecified.text=Archivo de imagen no v\u00e1lido especificado.
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.invalidPath.text=La ruta no es v\u00e1lida.
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.pathNotSet.text=Se debe establecer la ruta del logo de la agencia.
+AutopsyOptionsPanel.invalidImageFile.msg=El archivo seleccionado no pudo usarse como logo de la agencia.
+AutopsyOptionsPanel.invalidImageFile.title=Archivo de Imagen Inv\u00e1lido
+AutopsyOptionsPanel.logNumAlert.invalidInput.text=Se requiere un n\u00famero entero positivo.
+AutopsyOptionsPanel.memFieldValidationLabel.developerMode.text=La configuraci\u00f3n de memoria no est\u00e1 disponible en modo desarrollador
+AutopsyOptionsPanel.memFieldValidationLabel.invalidCharacters.text=Caracteres inv\u00e1lidos, el valor debe ser un entero positivo
+AutopsyOptionsPanel.memFieldValidationLabel.not64BitInstall.text=La configuraci\u00f3n de memoria JVM solo est\u00e1 habilitada para la versi\u00f3n de 64 bits
+AutopsyOptionsPanel.memFieldValidationLabel.noValueEntered.text=No se ingres\u00f3 ning\u00fan valor
+# {0} - systemMemory
+AutopsyOptionsPanel.memFieldValidationLabel.overMaxMemory.text=El valor debe ser menor a la memoria total del sistema de {0}GB
+# {0} - minimumMemory
+AutopsyOptionsPanel.memFieldValidationLabel.underMinMemory.text=El valor debe ser al menos {0}GB
+AutopsyOptionsPanel_heapDumpBrowseButtonActionPerformed_fileAlreadyExistsMessage=El archivo ya existe. Por favor seleccione una nueva ubicaci\u00f3n.
+AutopsyOptionsPanel_heapDumpBrowseButtonActionPerformed_fileAlreadyExistsTitle=El Archivo Ya Existe
+AutopsyOptionsPanel_isHeapPathValid_developerMode=No se puede cambiar la ruta del volcado de heap en modo desarrollador.
+AutopsyOPtionsPanel_isHeapPathValid_illegalCharacters=Por favor seleccione una ruta sin comillas.
+AutopsyOptionsPanel_isHeapPathValid_not64BitMachine=El cambio de configuraci\u00f3n del volcado de heap solo est\u00e1 habilitado para versiones de 64 bits.
+AutopsyOptionsPanel_isHeapPathValid_selectValidDirectory=Por favor seleccione un directorio existente.
+AutopsyOptionsPanel_storeTempDir_onChoiceError_description=Hubo un error al actualizar la selecci\u00f3n del directorio temporal.
+AutopsyOptionsPanel_storeTempDir_onChoiceError_title=Error al Guardar el Directorio Temporal
+# {0} - path
+AutopsyOptionsPanel_storeTempDir_onError_description=Hubo un error al crear el directorio temporal en el sistema de archivos en: {0}.
+AutopsyOptionsPanel_storeTempDir_onError_title=Error al Guardar el Directorio Temporal
+# {0} - path
+AutopsyOptionsPanel_tempDirectoryBrowseButtonActionPerformed_onInvalidPath_description=No se pudo crear el directorio temporal en la ruta especificada: {0}
+AutopsyOptionsPanel_tempDirectoryBrowseButtonActionPerformed_onInvalidPath_title=La Ruta No Puede Ser Usada
+CTL_CustomAboutAction=Acerca de
+CTL_DataContentAction=Contenido de Datos
+CTL_DataContentTopComponent=Contenido de Datos
+CTL_OfflineHelpAction=Documentaci\u00f3n de Autopsy Sin Conexi\u00f3n
+CTL_OnlineHelpAction=Documentaci\u00f3n de Autopsy en L\u00ednea
+DataArtifactContentViewer.failedToGetAttributes.message=No se pudieron obtener algunos o todos los atributos de la base de datos del caso
+DataArtifactContentViewer.failedToGetSourcePath.message=No se pudo obtener la ruta del archivo fuente desde la base de datos del caso
+DataContentViewerHex.copyingFile=Copiando archivo para abrir en HxD...
+DataContentViewerHex.launchError=No se pudo iniciar el Editor HxD. Por favor especifique la ubicaci\u00f3n de instalaci\u00f3n de HxD en Herramientas -> Opciones -> Visor Externo
+DataContentViewerHex_loading_text=Cargando hexadecimal desde el archivo...
+DataResultViewerTable.commentRender.name=C
+DataResultViewerTable.commentRender.toolTip=C(omentarios) indica si el elemento tiene un comentario
+DataResultViewerTable.commentRenderer.crAndTagComment.toolTip=Existen comentarios tanto en el Repositorio Central como en las etiquetas asociadas
+DataResultViewerTable.commentRenderer.crComment.toolTip=Existe un comentario en el Repositorio Central
+DataResultViewerTable.commentRenderer.noComment.toolTip=No se encontraron comentarios
+DataResultViewerTable.commentRenderer.tagComment.toolTip=Existe un comentario en la(s) etiqueta(s) asociada(s)
+DataResultViewerTable.countRender.name=O
+DataResultViewerTable.countRender.toolTip=O(currencias) indica el n\u00famero de fuentes de datos que contienen el elemento en el Repositorio Central
+DataResultViewerTable.exportCSVButtonActionPerformed.empty=No hay datos para exportar
+DataResultViewerTable.firstColLbl=Nombre
+DataResultViewerTable.goToPageTextField.err=N\u00famero de p\u00e1gina inv\u00e1lido
+# {0} - totalPages
+DataResultViewerTable.goToPageTextField.msgDlg=Por favor ingrese un n\u00famero de p\u00e1gina v\u00e1lido entre 1 y {0}
+# {0} - currentPage
+# {1} - totalPages
+DataResultViewerTable.pageNumbers.curOfTotal={0} de {1}
+DataResultViewerTable.scoreRender.name=S
+DataResultViewerTable.scoreRender.toolTip=S(core) indica si el elemento es interesante o relevante
+DataResultViewerTable.title=Tabla
+DataResultViewerThumbnail.sortLabel.text=Ordenado por: ---
+# {0} - sort criteria
+DataResultViewerThumbnail.sortLabel.textTemplate=Ordenado por: {0}
+DataResultViewerThumbnail.thumbnailSizeComboBox.large=Miniaturas Grandes
+DataResultViewerThumbnail.thumbnailSizeComboBox.medium=Miniaturas Medianas
+DataResultViewerThumbnail.thumbnailSizeComboBox.small=Miniaturas Peque\u00f1as
+MultiUserSettingsPanel_Close_Case_To_Modify=Cierre el caso para modificar la configuraci\u00f3n
+OptionsCategory_Name_General=Aplicaci\u00f3n
+OptionsCategory_Keywords_General=Opciones de Autopsy
+HINT_DataContentTopComponent=Esta es una ventana de contenido de datos
+HINT_NodeTableTopComponent=Esta es una ventana de resultados de datos
+OpenIDE-Module-Name=ComponentesN\u00facleo
+DataContentViewerHex.prevPageButton.text=
+DataContentViewerHex.nextPageButton.text=
+DataContentViewerHex.pageLabel.text_1=Pagina:
+DataContentViewerHex.currentPageLabel.text_1=1
+DataContentViewerHex.ofLabel.text_1=de
+DataContentViewerHex.totalPageLabel.text_1=100
+DataContentViewerHex.pageLabel2.text=Pagina
+
+# Product Information panel
+LBL_Description=\n Versi\u00f3n del Producto: {0} ({9})
Versi\u00f3n de Sleuth Kit: {7}
Compilaci\u00f3n de NetBeans RCP: {8}
Java: {1}; {2}
Sistema: {3}; {4}; {5}
Directorio de Usuario: {6}
Traducci\u00f3n al espa\u00f1ol por ARIEL EDUARDO ABURTO - PUERTO MADRYN - CHUBUT
+Format_OperatingSystem_Value={0} versi\u00f3n {1} ejecut\u00e1ndose en {2}
+LBL_Copyright=
+SortChooser.dialogTitle=Elegir Criterio de Ordenamiento
+ThumbnailViewChildren.progress.cancelling=(Cancelando)
+# {0} - file name
+ThumbnailViewNode.progressHandle.text=Generando miniatura para {0}
+URL_ON_IMG=http://www.sleuthkit.org/
+FILE_FOR_LOCAL_HELP=file:///
+INDEX_FOR_LOCAL_HELP=/docs/index.html
+LBL_Close=Cerrar
+DataContentViewerHex.copyMenuItem.text=Copiar
+DataContentViewerHex.selectAllMenuItem.text=Seleccionar Todo
+DataArtifactContentViewer.totalPageLabel.text=100
+DataArtifactContentViewer.prevPageButton.text=
+DataArtifactContentViewer.pageLabel2.text=Resultado
+DataArtifactContentViewer.nextPageButton.text=
+DataArtifactContentViewer.currentPageLabel.text=1
+DataArtifactContentViewer.ofLabel.text=de
+DataArtifactContentViewer.pageLabel.text=Resultado:
+AdvancedConfigurationDialog.applyButton.text=OK
+DataContentViewerHex.goToPageTextField.text=
+DataContentViewerHex.goToPageLabel.text=Ir a la P\u00e1gina:
+DataResultViewerThumbnail.pageLabel.text=P\u00e1gina:
+DataResultViewerThumbnail.pagesLabel.text=P\u00e1ginas:
+DataResultViewerThumbnail.pagePrevButton.text=
+DataResultViewerThumbnail.pageNextButton.text=
+DataResultViewerThumbnail.imagesLabel.text=Im\u00e1genes:
+DataResultViewerThumbnail.imagesRangeLabel.text=-
+DataResultViewerThumbnail.pageNumLabel.text=-
+DataResultViewerThumbnail.filePathLabel.text=\ \ \
+DataResultViewerThumbnail.goToPageLabel.text=Ir a la P\u00e1gina:
+DataResultViewerThumbnail.goToPageField.text=
+AdvancedConfigurationDialog.cancelButton.text=Cancelar
+DataArtifactContentViewer.waitText=Recuperando y preparando datos, por favor espere...
+DataArtifactContentViewer.errorText=Error al recuperar el resultado
+DataArtifactContentViewer.title=Artefactos de Datos
+DataArtifactContentViewer.toolTip=Muestra los Resultados asociados con el archivo
+DataContentViewerHex.goToPageTextField.msgDlg=Por favor ingrese un n\u00famero de p\u00e1gina v\u00e1lido entre 1 y {0}
+DataContentViewerHex.goToPageTextField.err=N\u00famero de p\u00e1gina inv\u00e1lido
+DataContentViewerHex.setDataView.errorText=(el desplazamiento {0}-{1} no se pudo leer)
+DataContentViewerHex.title=Hex
+DataContentViewerHex.toolTip=Muestra el contenido binario de un archivo como hexadecimal, con los bytes que pueden mostrarse como caracteres ASCII a la derecha.
+DataResultPanel.pleasewaitNodeDisplayName=Por Favor Espere...
+DataResultViewerTable.illegalArgExc.noChildFromParent=No se pudo obtener un Nodo hijo desde el padre dado.
+DataResultViewerTable.illegalArgExc.childWithoutPropertySet=El Nodo hijo no tiene el conjunto de propiedades regular.
+DataResultViewerThumbnail.title=Miniatura
+DataResultViewerThumbnail.goToPageTextField.msgDlg=Por favor ingrese un n\u00famero de p\u00e1gina v\u00e1lido entre 1 y {0}
+DataResultViewerThumbnail.goToPageTextField.err=N\u00famero de p\u00e1gina inv\u00e1lido
+DataResultViewerThumbnail.genThumbs=Generando miniaturas...
+DataResultViewerThumbnail.pageNumbers.curOfTotal={0} de {1}
+GeneralOptionsPanelController.moduleErr=Error de M\u00f3dulo
+GeneralOptionsPanelController.moduleErr.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar actualizaciones de GeneralOptionsPanelController. Vea el registro para determinar qu\u00e9 m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+ProductInformationPanel.verbLoggingEnabled.text=Registro detallado habilitado
+ProductInformationPanel.propertyUnknown.text=desconocido
+ProductInformationPanel.getVMValue.text={0} {1}
+TableFilterNode.displayName.text=Nombre
+DataResultViewerThumbnail.comboBox.smallThumbnails=Miniaturas Peque\u00f1as
+DataResultViewerThumbnail.comboBox.mediumThumbnails=Miniaturas Medianas
+DataResultViewerThumbnail.comboBox.largeThumbnails=Miniaturas Grandes
+DataResultViewerThumbnail.switchPage.done.errMsg=Error al generar miniaturas: {0}
+AboutWindowPanel.actVerboseLogging.text=Activar registro detallado
+OptionsCategory_Name_Multi_User_Settings=Multiusuario
+OptionsCategory_Keywords_Multi_User_Options=Configuraci\u00f3n Multiusuario
+MultiUserSettingsPanel.cbEnableMultiUser.text=Habilitar casos multiusuario
+MultiUserSettingsPanel.lbDatabaseSettings.text=Configuraci\u00f3n del Servidor de Base de Datos
+MultiUserSettingsPanel.validationErrMsg.incomplete=Complete todos los valores
+MultiUserSettingsPanel.nonWindowsOs.msg=Los casos multiusuario solo est\u00e1n disponibles en plataformas Windows
+MultiUserSettingsPanel.validationErrMsg.invalidDatabasePort=N\u00famero de puerto de base de datos inv\u00e1lido
+MultiUserSettingsPanel.validationErrMsg.invalidMessageServicePort=N\u00famero de puerto del servicio de mensajes inv\u00e1lido
+MultiUserSettingsPanel.validationErrMsg.invalidIndexingServerPort=N\u00famero de puerto del servidor Solr 8 inv\u00e1lido
+MultiUserSettingsPanel.validationErrMsg.invalidSolr4ServerPort=N\u00famero de puerto del servidor Solr 4 inv\u00e1lido
+MultiUserSettingsPanel.validationErrMsg.invalidZkServerPort=N\u00famero de puerto del servidor ZooKeeper inv\u00e1lido
+MultiUserSettingsPanel.validationErrMsg.invalidZkServerHostName=Nombre del servidor ZooKeeper no establecido
+MultiUserSettingsPanel.validationErrMsg.solrNotConfigured=Debe configurar el servidor Solr 8 y/o Solr 4
+MultiUserSettingsPanel.validationErrMsg.invalidMessgeServiceURI=El host y/o puerto del servicio de mensajes no es v\u00e1lido
+DataContentViewerHex.goToOffsetLabel.text=Ir a Desplazamiento
+DataContentViewerHex.goToOffsetTextField.text=
+DataContentViewerHex.goToOffsetTextField.msgDlg=Desplazamiento inv\u00e1lido: {0}
+DataContentViewerHex.setDataView.invalidOffset.negativeOffsetValue=No se puede saltar al desplazamiento resultante
+MultiUserSettingsPanel.tbOops.text=
+MultiUserSettingsPanel.lbTestDatabase.text=
+MultiUserSettingsPanel.bnTestDatabase.text=Probar Conexi\u00f3n
+MultiUserSettingsPanel.tbDbHostname.toolTipText=Nombre de host o direcci\u00f3n IP
+MultiUserSettingsPanel.tbDbHostname.text=
+MultiUserSettingsPanel.tbDbPort.toolTipText=N\u00famero de puerto
+MultiUserSettingsPanel.tbDbPort.text=
+MultiUserSettingsPanel.tbDbUsername.toolTipText=Nombre de usuario
+MultiUserSettingsPanel.tbDbUsername.text=
+MultiUserSettingsPanel.tbDbPassword.toolTipText=Contrase\u00f1a
+MultiUserSettingsPanel.tbDbPassword.text=
+MultiUserSettingsPanel.lbTestMessageService.text=
+MultiUserSettingsPanel.bnTestMessageService.text=Probar Conexi\u00f3n
+MultiUserSettingsPanel.lbMessageServiceSettings.text=Configuraci\u00f3n del Servidor de Mensajes ActiveMQ
+MultiUserSettingsPanel.tbMsgPort.toolTipText=N\u00famero de puerto
+MultiUserSettingsPanel.tbMsgPort.text=
+MultiUserSettingsPanel.tbMsgUsername.toolTipText=Nombre de usuario (opcional)
+MultiUserSettingsPanel.tbMsgUsername.text=
+MultiUserSettingsPanel.tbMsgPassword.toolTipText=Contrase\u00f1a (opcional)
+MultiUserSettingsPanel.tbMsgPassword.text=
+MultiUserSettingsPanel.tbMsgHostname.toolTipText=Nombre de host o direcci\u00f3n IP
+MultiUserSettingsPanel.tbMsgHostname.text=
+MultiUserSettingsPanel.lbTestMessageWarning.text=
+MultiUserSettingsPanel.lbTestDbWarning.text=
+MultiUserSettingsPanel.KeywordSearchNull=No se puede encontrar el servicio de b\u00fasqueda por palabras clave
+MultiUserSettingsPanel.Solr4ConnectionInfoMissing.error=Falta informaci\u00f3n de conexi\u00f3n de Solr 4 o est\u00e1 incompleta
+MultiUserSettingsPanel.Solr8ConnectionInfoMissing.error=Falta informaci\u00f3n de conexi\u00f3n de Solr 8 o est\u00e1 incompleta
+MultiUserSettingsPanel.UnableToConnectToZK=No se puede conectar al servicio ZooKeeper
+MultiUserSettingsPanel.InvalidPortNumber=N\u00famero de puerto inv\u00e1lido
+AutopsyOptionsPanel.agencyLogoImageLabel.toolTipText=
+SortChooserDialog.label=eliminar
+SortChooser.addCriteriaButton.text=Agregar Criterio de Ordenamiento
+DataResultViewerThumbnail.sortButton.text=Ordenar
+CriterionChooser.ascendingRadio.text=\u25b2 Ascendente\n
+CriterionChooser.removeButton.text=Eliminar
+CriterionChooser.descendingRadio.text=\u25bc Descendente
+DataResultPanel.matchLabel.text=Resultados
+DataResultPanel.numberOfChildNodesLabel.text=0
+DataResultPanel.descriptionLabel.text=directorioRuta
+ViewOptionsController.moduleErr=Error al procesar cambios de valor.
+ViewOptionsController.moduleErr.msg=El procesamiento de cambio de valor fall\u00f3.
+ViewPreferencesPanel.currentCaseSettingsPanel.border.title=Configuraci\u00f3n del Caso Actual
+OptionsCategory_Name_View=Vista
+OptionsCategory_Keywords_View=Vista
+ViewPreferencesPanel.currentSessionSettingsPanel.border.title=Configuraci\u00f3n de la Sesi\u00f3n Actual
+ViewPreferencesPanel.hideRejectedResultsCheckbox.text=Ocultar resultados rechazados
+DataContentViewerHex.launchHxDButton.text=Iniciar en HxD
+ExternalViewerGlobalSettingsPanel.jButton2.text=jButton2
+ExternalViewerGlobalSettingsPanel.newRuleButton1.text=Nueva Regla
+ExternalViewerGlobalSettingsPanel.newRuleButton.text=Nueva Regla
+ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text=Examinar
+ExternalViewerGlobalSettingsPanel.jLabel2.text=Establecer extensiones de visor de contenido ejecutable
+ExternalViewerGlobalSettingsPanel.jLabel1.text=Ruta del Editor HxD:
+ExternalViewerGlobalSettingsPanel.editRuleButton.text=Editar Regla
+ExternalViewerGlobalSettingsPanel.deleteRuleButton.text=Eliminar Regla
+ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text=Establecer aplicaci\u00f3n visor para usar con archivos de tipos MIME/extensiones espec\u00edficas:
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title1=Aplicaci\u00f3n
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title0=Tipo MIME/Extensi\u00f3n
+AddExternalViewerRulePanel.nameLabel.text=Tipo MIME o extensi\u00f3n
+AddExternalViewerRulePanel.browseButton.text=Examinar
+AddExternalViewerRulePanel.exePathTextField.text=
+AddExternalViewerRulePanel.exePathLabel.text=Ruta del programa a usar para archivos con este tipo o extensi\u00f3n
+AddExternalViewerRulePanel.extRadioButton.text=Extensi\u00f3n
+AddExternalViewerRulePanel.mimeRadioButton.text=Tipo MIME
+AddExternalViewerRulePanel.nameTextField.text=
+ExternalViewerGlobalSettingsPanel.jButton2.text_1=jButton2
+ExternalViewerGlobalSettingsPanel.newRuleButton1.text_1=Nueva Regla
+ExternalViewerGlobalSettingsPanel.newRuleButton.text_1=Nueva Regla
+ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text_1=Examinar
+ExternalViewerGlobalSettingsPanel.jLabel2.text_1=Establecer extensiones de visor de contenido ejecutable
+ExternalViewerGlobalSettingsPanel.jLabel1.text_1=Ruta del Editor HxD:
+ExternalViewerGlobalSettingsPanel.HxDPath.text=C:/Program Files/HxD/HxD.exe
+ExternalViewerGlobalSettingsPanel.editRuleButton.text_1=Editar Regla
+ExternalViewerGlobalSettingsPanel.deleteRuleButton.text_1=Eliminar Regla
+ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text_1=Establecer aplicaci\u00f3n visor para usar con archivos de tipos MIME/extensiones espec\u00edficas:
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title1_1=Aplicaci\u00f3n
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title0_1=Tipo MIME/Extensi\u00f3n
+DataResultViewerTable.gotoPageTextField.text=
+DataResultViewerTable.gotoPageLabel.AccessibleContext.accessibleName=
+DataResultViewerTable.gotoPageLabel.text=Ir a la P\u00e1gina:
+DataResultViewerTable.pageNextButton.text=
+DataResultViewerTable.pagePrevButton.text=
+DataResultViewerTable.pagesLabel.text=P\u00e1ginas:
+DataResultViewerTable.pageNumLabel.text=
+DataResultViewerTable.pageLabel.text=P\u00e1gina:
+DataResultViewerTable.exportCSVButton.text=Guardar tabla como CSV
+MultiUserSettingsPanel.tbSolr4Hostname.toolTipText=Nombre de host o direcci\u00f3n IP de Solr 4
+MultiUserSettingsPanel.tbSolr4Port.toolTipText=N\u00famero de puerto de Solr 4
+MultiUserSettingsPanel.lbZkSettings.text=Configuraci\u00f3n del servidor ZooKeeper
+MultiUserSettingsPanel.lbSolr4Settings.text=Configuraci\u00f3n del servidor Solr 4
+MultiUserSettingsPanel.lbSolr8Settings.text=Configuraci\u00f3n del servidor Solr 8
+MultiUserSettingsPanel.tbZkHostname.toolTipText=Nombre de host o direcci\u00f3n IP de ZooKeeper. El ZooKeeper embebido usualmente se ejecuta en el mismo host que el servidor Solr.
+MultiUserSettingsPanel.tbZkPort.toolTipText=N\u00famero de puerto de ZooKeeper. ZooKeeper embebido usa un puerto que es 1,000 m\u00e1s que el puerto del servicio Solr. Por ejemplo, si el puerto de Solr es 8983, entonces el de ZooKeeper es 9983.
+MultiUserSettingsPanel.tbSolr8Hostname.toolTipText=Nombre de host o direcci\u00f3n IP de Solr 8
+MultiUserSettingsPanel.tbSolr8Port.toolTipText=N\u00famero de puerto de Solr 8
+MultiUserSettingsPanel.restartRequiredLabel.text=Se requiere reiniciar la aplicaci\u00f3n para aplicar los cambios.
+MultiUserSettingsPanel.MustRestart=Es necesario reiniciar Autopsy para que la nueva configuraci\u00f3n tenga efecto
+MultiUserSettingsPanel.lbSolrNote1.text=Ingrese la configuraci\u00f3n del servidor Solr 8 y/o Solr 4.
+MultiUserSettingsPanel.lbSolrNote2.text=La nueva indexaci\u00f3n de texto solo puede hacerse con Solr 8.
+AutopsyOptionsPanel.tempDirectoryBrowseButton.text=Examinar
+AutopsyOptionsPanel.a.AccessibleContext.accessibleName=Directorio temporal
+AutopsyOptionsPanel.tempDirectoryPanel.AccessibleContext.accessibleName=Directorio temporal
+AutopsyOptionsPanel.tempDirectoryPanel.name=Directorio temporal
+AutopsyOptionsPanel.tempDirectoryPanel.border.title=Directorio Ra\u00edz Temporal
+AutopsyOptionsPanel.tempDirectoryWarningLabel.text=Cierre el caso actual para cambiar el directorio temporal.
+AutopsyOptionsPanel.solrJVMHeapWarning.text=NOTA: Establecer este valor muy alto puede afectar el rendimiento general.
+AutopsyOptionsPanel.maxMemoryUnitsLabel2.text=MB
+AutopsyOptionsPanel.maxSolrMemoryLabel.text=Memoria m\u00e1xima de Solr JVM:
+AutopsyOptionsPanel.logNumAlert.text=
+AutopsyOptionsPanel.maxLogFileCount.text=Cantidad m\u00e1xima de archivos de registro:
+AutopsyOptionsPanel.restartNecessaryWarning.text=Es necesario reiniciar para que los cambios de memoria tengan efecto.
+AutopsyOptionsPanel.totalMemoryLabel.text=Memoria total del sistema:
+AutopsyOptionsPanel.maxMemoryUnitsLabel.text=GB
+AutopsyOptionsPanel.maxMemoryLabel.text=Memoria m\u00e1xima de la JVM:
+AutopsyOptionsPanel.runtimePanel.border.title=Tiempo de ejecuci\u00f3n
+ViewPreferencesPanel.maxResultsLabel.toolTipText=\nEstablecer este valor en 0 mostrar\u00e1 todos los resultados en la tabla.\n
Nota: esto puede afectar el rendimiento de la interfaz cuando hay muchos resultados.\n
+ViewPreferencesPanel.maxResultsLabel.text=N\u00famero m\u00e1ximo de resultados para mostrar en la tabla:
+ViewPreferencesPanel.fileNameTranslationColumnCheckbox.text=Agregar columna en visor de resultados para traducci\u00f3n de nombre de archivo
+ViewPreferencesPanel.scoColumnsWrapAroundText.text=para reducir tiempos de carga
+ViewPreferencesPanel.translateTextLabel.text=Traducir texto:
+ViewPreferencesPanel.scoColumnsCheckbox.text=S(core), C(omentarios) y O(currencias)
+ViewPreferencesPanel.scoColumnsLabel.text=No agregar columnas para:
+ViewPreferencesPanel.hideOtherUsersTagsLabel.text=Ocultar etiquetas de otros usuarios en:
+ViewPreferencesPanel.hideOtherUsersTagsCheckbox.text=\u00c1rea de etiquetas en el \u00e1rbol
+ViewPreferencesPanel.useAnotherTimeRadioButton.text=Usar otra zona horaria
+ViewPreferencesPanel.useLocalTimeRadioButton.text=Usar zona horaria local
+ViewPreferencesPanel.displayTimeLabel.text=Al mostrar horas:
+ViewPreferencesPanel.viewsHideSlackCheckbox.text=\u00c1rea de vistas
+ViewPreferencesPanel.dataSourcesHideSlackCheckbox.text=\u00c1rea de fuentes de datos (jerarqu\u00eda de directorios)
+ViewPreferencesPanel.hideSlackFilesLabel.text=Ocultar archivos slack en:
+ViewPreferencesPanel.viewsHideKnownCheckbox.text=\u00c1rea de vistas
+ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text=\u00c1rea de fuentes de datos (jerarqu\u00eda de directorios)
+ViewPreferencesPanel.hideKnownFilesLabel.text=Ocultar archivos conocidos (ej. los del NSRL de NIST) en:
+ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText=Por ejemplo, permanecer en vista Hex al seleccionar un JPEG.
+ViewPreferencesPanel.keepCurrentViewerRadioButton.text=Permanecer en el mismo visor de archivos
+ViewPreferencesPanel.useBestViewerRadioButton.toolTipText=Por ejemplo, cambiar de Hex a Multimedia al seleccionar un JPEG.
+ViewPreferencesPanel.useBestViewerRadioButton.text=Cambiar al visor de archivos m\u00e1s espec\u00edfico
+ViewPreferencesPanel.selectFileLabel.text=Al seleccionar un archivo:
+ViewPreferencesPanel.globalSettingsPanel.border.title=Configuraci\u00f3n Global
+MultiUserSettingsPanel.bnTestSolr8.text=Probar conexi\u00f3n
+MultiUserSettingsPanel.lbTestSolr8.text=
+MultiUserSettingsPanel.bnTestSolr4.text=Probar conexi\u00f3n
+MultiUserSettingsPanel.lbTestSolr4.text=
+MultiUserSettingsPanel.bnTestZK.text=Probar conexi\u00f3n
+MultiUserSettingsPanel.lbTestZK.text=
+MultiUserSettingsPanel.lbWarning.text=
+AutopsyOptionsPanel.rdpPanel.border.title=Escalado de DPI alto en Windows
+AutopsyOptionsPanel.sizingTextPane.text=Haga los siguientes cambios si la aplicaci\u00f3n es dif\u00edcil de usar en sistemas con DPI alto:\n\n1. Haga clic derecho en el icono de la aplicaci\u00f3n en el Escritorio, Men\u00fa Inicio, etc.\n2. Elija Propiedades\n3. Vaya a la pesta\u00f1a Compatibilidad\n4. Haga clic en el bot\u00f3n \"Cambiar configuraci\u00f3n de DPI alto\"\n5. Seleccione \"Anular el comportamiento de escalado de DPI alto\"\n6. Cambie el men\u00fa desplegable de \"Escalado realizado por:\" a \"Sistema\"\n7. Reinicie Autopsy
+AutopsyOptionsPanel.agencyLogoPathFieldValidationLabel.text=
+AutopsyOptionsPanel.specifyLogoRB.text=Especificar un logo
+AutopsyOptionsPanel.defaultLogoRB.text=Usar predeterminado
+AutopsyOptionsPanel.agencyLogoPreview.text=Sin logo
seleccionado
+AutopsyOptionsPanel.browseLogosButton.text=Examinar
+AutopsyOptionsPanel.agencyLogoPathField.text=
+AutopsyOptionsPanel.logoPanel.border.title=Logo
+ViewPreferencesPanel.radioGroupByPersonHost.text=Agrupar por Persona/Host
+ViewPreferencesPanel.radioGroupByDataType.text=Agrupar por Tipo de Datos
+AutopsyOptionsPanel.tempLocalRadio.text=Directorio temporal local
+AutopsyOptionsPanel.tempCaseRadio.text=Carpeta temporal en el directorio del caso
+AutopsyOptionsPanel.tempCustomRadio.text=Personalizado
+AutopsyOptionsPanel.tempCustomField.text=
+AutopsyOptionsPanel.tempOnCustomNoPath.text=Por favor seleccione una ruta para el directorio temporal personalizado.
+AutopsyOptionsPanel.heapDumpFileField.text=
+AutopsyOptionsPanel.heapDumpBrowseButton.text=Examinar
+AutopsyOptionsPanel.heapFileLabel.text=Ubicaci\u00f3n personalizada del volcado de Heap:
+AutopsyOptionsPanel.heapFieldValidationLabel.text=
diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ar.properties
deleted file mode 100644
index e03237e64f2..00000000000
--- a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_ar.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-FileTypeCategory.Audio.displayName=Audio
-FileTypeCategory.Documents.displayName=Documentos
-FileTypeCategory.Executables.displayName=Ejecutables
-FileTypeCategory.Image.displayName=Imagen
-FileTypeCategory.Media.displayName=Medios
-FileTypeCategory.Video.displayName=Video
-FileTypeCategory.Visual.displayName=Visual
-# {0} - file name
-GetOrGenerateThumbnailTask.generatingPreviewFor=Generando vista previa para {0}
-# {0} - file name
-GetOrGenerateThumbnailTask.loadingThumbnailFor=Cargando miniatura para {0}
-ImageUtils.ffmpegLoadedError.msg=La biblioteca OpenCV FFMpeg no pudo cargarse, consulta el registro para mas detalles
-ImageUtils.ffmpegLoadedError.title=OpenCV FFMpeg
-OpenIDE-Module-Name=CoreUtils
-JLNK.noPrefPath.text=No se encontro una ruta preferida
-PlatformUtil.nameUnknown=desconocido
-PlatformUtil.verUnknown=desconocido
-PlatformUtil.archUnknown=desconocido
-PlatformUtil.jrePath.jreDir.msg=Se encontro el directorio jre incrustado en: {0}
-PlatformUtil.jrePath.usingJavaPath.msg=Usando la ruta del archivo binario de Java: {0}
-PlatformUtil.getPID.sigarNotInit.msg=No se puede obtener el PID, sigar no inicializado
-PlatformUtil.getPID.gen.msg=No se puede obtener el PID,{0}
-PlatformUtil.getJavaPID.sigarNotInit.msg=No se puede obtener el PID de un proceso de Java, sigar no inicializado
-PlatformUtil.getJavaPID.gen.msg=No se puede obtener el PID para la consulta: {0}, {1}
-PlatformUtil.getJavaPIDs.sigarNotInit=No se pueden obtener los PID de un proceso de Java, sigar no inicializado
-PlatformUtil.getJavaPIDs.gen.msg=No se pueden obtener los PID para la consulta: {0}, {1}
-PlatformUtil.killProcess.sigarNotInit.msg=No se puede matar el proceso por el PID, sigar no inicializado.
-PlatformUtil.killProcess.gen.msg=No se puede matar el proceso: {0}, {1}
-PlatformUtil.getProcVmUsed.sigarNotInit.msg=No se puede obtener el uso de memoria virtual, sigar no inicializado.
-PlatformUtil.getProcVmUsed.gen.msg=No se puede obtener el uso de memoria virtual, {0}
-PlatformUtil.getJvmMemInfo.usageText=Uso de la memoria de la JVM: {0}, Uso de la memoria no asignada de la JVM: {1}
-PlatformUtil.getPhysicalMemInfo.usageText=Uso de la memoria fisica (maximo, total, libre): {0}, {1}, {2}
-PlatformUtil.getAllMemUsageInfo.usageText={0}\n\
-{1}\n\
-Memoria Virtual del Proceso: {2}
-# {0} - file name
-ReadImageTask.mesageText=Leyendo imagen: {0}
-StringExtract.illegalStateException.cannotInit.msg=Tabla Unicode no inicializada correctamente, no se puede instanciar StringExtract
-TextConverter.convert.exception.txt=No se puede convertir el texto {0} a texto hexadecimal
-TextConverter.convertFromHex.exception.txt=No se puede convertir el texto hexadecimal a texto
-# {0} - file name
-VideoUtils.genVideoThumb.progress.text=extrayendo archivo temporal {0}
diff --git a/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_es.properties
new file mode 100644
index 00000000000..92f60fcd1ee
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/coreutils/Bundle_es.properties
@@ -0,0 +1,49 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+FileTypeCategory.Audio.displayName=Audio
+FileTypeCategory.Documents.displayName=Documentos
+FileTypeCategory.Executables.displayName=Ejecutables
+FileTypeCategory.Image.displayName=Imagen
+FileTypeCategory.Media.displayName=Multimedia
+FileTypeCategory.Video.displayName=Video
+FileTypeCategory.Visual.displayName=Visual
+# {0} - file name
+GetOrGenerateThumbnailTask.generatingPreviewFor=Generando vista previa para {0}
+# {0} - file name
+GetOrGenerateThumbnailTask.loadingThumbnailFor=Cargando miniatura para {0}
+ImageUtils.ffmpegLoadedError.msg=La biblioteca FFMpeg de OpenCV no se pudo cargar, consulte el registro para m\u00e1s detalles
+ImageUtils.ffmpegLoadedError.title=OpenCV FFMpeg
+OpenIDE-Module-Name=CoreUtils
+JLNK.noPrefPath.text=No se encontr\u00f3 una ruta preferida
+PlatformUtil.nameUnknown=desconocido
+PlatformUtil.verUnknown=desconocida
+PlatformUtil.archUnknown=desconocida
+PlatformUtil.jrePath.jreDir.msg=Directorio jre embebido encontrado en: {0}
+PlatformUtil.jrePath.usingJavaPath.msg=Usando la ruta binaria de java: {0}
+PlatformUtil.getPID.sigarNotInit.msg=No se puede obtener el PID, sigar no est\u00e1 inicializado
+PlatformUtil.getPID.gen.msg=No se puede obtener el PID, {0}
+PlatformUtil.getJavaPID.sigarNotInit.msg=No se puede obtener el PID de un proceso java, sigar no est\u00e1 inicializado
+PlatformUtil.getJavaPID.gen.msg=No se puede obtener el PID para la consulta: {0}, {1}
+PlatformUtil.getJavaPIDs.sigarNotInit=No se pueden obtener los PIDs de un proceso java, sigar no est\u00e1 inicializado
+PlatformUtil.getJavaPIDs.gen.msg=No se pueden obtener los PIDs para la consulta: {0}, {1}
+PlatformUtil.killProcess.sigarNotInit.msg=No se puede finalizar el proceso por pid, sigar no est\u00e1 inicializado.
+PlatformUtil.killProcess.gen.msg=No se puede finalizar el proceso: {0}, {1}
+PlatformUtil.getProcVmUsed.sigarNotInit.msg=No se puede obtener la memoria virtual usada, sigar no est\u00e1 inicializado.
+PlatformUtil.getProcVmUsed.gen.msg=No se puede obtener la memoria virtual usada, {0}
+PlatformUtil.getJvmMemInfo.usageText=Uso del heap de JVM: {0}, uso fuera del heap: {1}
+PlatformUtil.getPhysicalMemInfo.usageText=Uso de memoria f\u00edsica (m\u00e1xima, total, libre): {0}, {1}, {2}
+PlatformUtil.getAllMemUsageInfo.usageText={0}\n\
+{1}\n\
+Memoria virtual del proceso: {2}
+# {0} - file name
+ReadImageTask.mesageText=Leyendo imagen: {0}
+StringExtract.illegalStateException.cannotInit.msg=Tabla unicode no inicializada correctamente, no se puede instanciar StringExtract
+TextConverter.convert.exception.txt=No se puede convertir el texto {0} a texto hexadecimal
+TextConverter.convertFromHex.exception.txt=No se puede convertir el texto hexadecimal a texto
+# {0} - file name
+VideoUtils.genVideoThumb.progress.text=extrayendo archivo temporal {0}
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ar.properties
deleted file mode 100644
index 5147ae68322..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_ar.properties
+++ /dev/null
@@ -1,477 +0,0 @@
-AbstractAbstractFileNode.accessTimeColLbl=Hora de acceso
-AbstractAbstractFileNode.attrAddrColLbl=Direccion Atributos
-AbstractAbstractFileNode.changeTimeColLbl=Hora de cambio
-AbstractAbstractFileNode.createdTimeColLbl=Hora de creacion
-AbstractAbstractFileNode.createSheet.comment.displayName=C
-AbstractAbstractFileNode.createSheet.comment.name=C
-# {0} - occurrenceCount
-AbstractAbstractFileNode.createSheet.count.description=Se encontraron {0} fuente(s) de datos con ocurrencias del valor de correlacion MD5
-AbstractAbstractFileNode.createSheet.count.displayName=O
-AbstractAbstractFileNode.createSheet.count.hashLookupNotRun.description=La busqueda del hash no se habia ejecutado en este archivo cuando se poblo la columna
-AbstractAbstractFileNode.createSheet.count.name=O
-AbstractAbstractFileNode.createSheet.score.name=S
-AbstractAbstractFileNode.extensionColLbl=Extension
-AbstractAbstractFileNode.flagsDirColLbl=Marcas(Dir)
-AbstractAbstractFileNode.flagsMetaColLbl=Marcas(Meta)
-AbstractAbstractFileNode.groupidColLbl=ID de Grupo
-AbstractAbstractFileNode.knownColLbl=Conocido
-AbstractAbstractFileNode.locationColLbl=Ubicacion
-AbstractAbstractFileNode.md5HashColLbl=Hash MD5
-AbstractAbstractFileNode.metaAddrColLbl=Direccion Meta.
-AbstractAbstractFileNode.mimeType=Tipo MIME
-AbstractAbstractFileNode.modeColLbl=Modo
-AbstractAbstractFileNode.modifiedTimeColLbl=Hora de modificacion
-AbstractAbstractFileNode.nameColLbl=Nombre
-AbstractAbstractFileNode.objectId=ID de Objeto
-AbstractAbstractFileNode.originalName=Nombre Original
-AbstractAbstractFileNode.sha256HashColLbl=Hash SHA-256
-AbstractAbstractFileNode.sizeColLbl=Tamanio
-AbstractAbstractFileNode.tagsProperty.displayName=Etiquetas
-AbstractAbstractFileNode.typeDirColLbl=Tipo(Dir)
-AbstractAbstractFileNode.typeMetaColLbl=Tipo(Meta)
-AbstractAbstractFileNode.useridColLbl=ID de Usuario
-AbstractContentNode.nodescription=sin descripcion
-AbstractContentNode.valueLoading=cargando valor
-# {0} - significanceDisplayName
-AbstractContentNode_getScorePropertyAndDescription_description=Tiene un resultado de analisis de {0}
-AbstractFsContentNode.noDesc.text=sin descripcion
-AnalysisResults_name=Resultados del Analisis
-ArtifactStringContent.attrsTableHeader.sources=Fuente(s)
-ArtifactStringContent.attrsTableHeader.type=Tipo
-ArtifactStringContent.attrsTableHeader.value=Valor
-ArtifactStringContent.failedToGetAttributes.message=Error al obtener algunos o todos los atributos de la base de datos del caso
-ArtifactStringContent.failedToGetSourcePath.message=Error al obtener la ruta del archivo fuente de la base de datos del caso
-AttachmentNode.getActions.openInExtViewer.text=Abrir en Visor Externo Ctrl+E
-AttachmentNode.getActions.searchFilesSameMD5.text=Buscar archivos con el mismo hash MD5
-AttachmentNode.getActions.viewFileInDir.text=Ver archivo en el directorio
-AttachmentNode.getActions.viewInNewWin.text=Ver en una nueva ventana
-# {0} - node name
-BaseChildFactory.NoSuchEventBusException.message=Sin autobus de eventos para el nodo: {0}
-BlackboardArtifactNode.createSheet.artifactDetails.displayName=Detalles del Resultado
-BlackboardArtifactNode.createSheet.artifactDetails.name=Detalles del Resultado
-BlackboardArtifactNode.createSheet.artifactMD5.displayName=Hash MD5
-BlackboardArtifactNode.createSheet.artifactMD5.name=Hash MD5
-BlackboardArtifactNode.createSheet.artifactType.displayName=Tipo de Resultado
-BlackboardArtifactNode.createSheet.artifactType.name=Tipo de Resultado
-BlackboardArtifactNode.createSheet.comment.displayName=C
-BlackboardArtifactNode.createSheet.comment.name=C
-# {0} - occurrenceCount
-# {1} - attributeType
-BlackboardArtifactNode.createSheet.count.description=Se encontraron {0} fuente(s) de datos con ocurrencias del valor de correlacion de tipo {1}
-BlackboardArtifactNode.createSheet.count.displayName=O
-BlackboardArtifactNode.createSheet.count.name=O
-BlackboardArtifactNode.createSheet.count.noCorrelationAttributes.description=No se encontraron propiedades de correlacion
-BlackboardArtifactNode.createSheet.count.noCorrelationValues.description=No se pueden encontrar otras ocurrencias porque no existe un valor para la propiedad de correlacion disponible
-BlackboardArtifactNode.createSheet.fileSize.displayName=Tamanio
-BlackboardArtifactNode.createSheet.fileSize.name=Tamanio
-BlackboardArtifactNode.createSheet.interestingResult.description=El resultado tiene un resultado interesante asociado.
-BlackboardArtifactNode.createSheet.noScore.description=Sin puntuacion
-BlackboardArtifactNode.createSheet.notableFile.description=Archivo asociado reconocido como notable.
-BlackboardArtifactNode.createSheet.notableTaggedItem.description=Resultado o archivo asociado etiquetado con etiqueta notable.
-BlackboardArtifactNode.createSheet.path.displayName=Ruta
-BlackboardArtifactNode.createSheet.path.name=Ruta
-BlackboardArtifactNode.createSheet.score.displayName=S
-BlackboardArtifactNode.createSheet.score.name=S
-BlackboardArtifactNode.createSheet.srcFile.displayName=Nombre de la Fuente
-BlackboardArtifactNode.createSheet.srcFile.name=Nombre de la Fuente
-BlackboardArtifactNode.createSheet.srcFile.origDisplayName=Nombre Original
-BlackboardArtifactNode.createSheet.srcFile.origName=Nombre Original
-BlackboardArtifactNode.createSheet.taggedItem.description=El resultado o archivo asociado ha sido etiquetado.
-BlackboardArtifactNode.createSheet.tags.displayName=Etiquetas
-BlackboardArtifactNode_analysisSheet_conclusion_name=Conclusion
-BlackboardArtifactNode_analysisSheet_configuration_name=Configuracion
-BlackboardArtifactNode_analysisSheet_justifaction_name=Justificacion
-BlackboardArtifactNode_analysisSheet_score_name=Puntuacion
-BlackboardArtifactNode_analysisSheet_sourceType_name=Tipo de Fuente
-BlackboardArtifactNode_analysisSheet_soureName_name=Nombre de la Fuente
-# {0} - type
-BlackboardArtifactNode_getAssociatedFileActions_viewAssociatedFileAction=Ver {0} en el Directorio
-# {0} - type
-BlackboardArtifactNode_getAssociatedFileActions_viewAssociatedFileInTimelineAction=Ver {0} en la Linea de Tiempo...
-BlackboardArtifactNode_getAssociatedTypeStr_associated=Archivo Asociado
-BlackboardArtifactNode_getAssociatedTypeStr_webCache=Archivo en Cache
-BlackboardArtifactNode_getAssociatedTypeStr_webDownload=Archivo Descargado
-# {0} - contentType
-BlackboardArtifactNode_getSrcContentAction_actionDisplayName=Ver Fuente {0} en el Directorio
-BlackboardArtifactNode_getSrcContentViewerActions_openInExtViewer=Abrir en el Visor Externo Ctrl+E
-BlackboardArtifactNode_getSrcContentViewerActions_viewInNewWin=Ver item en una Nueva Ventana
-BlackboardArtifactNode_getTimelineArtifactAction_displayName=Ver item Seleccionado en la Linea de Tiempo...
-# {0} - contentType
-BlackboardArtifactNode_getTimelineSrcContentAction_actionDisplayName=Ver Fuente {0} en la Linea de Tiempo...
-BlackboardArtifactNode_getViewSrcContentAction_type_DataArtifact=Artefacto de Datos
-BlackboardArtifactNode_getViewSrcContentAction_type_File=Archivo
-BlackboardArtifactNode_getViewSrcContentAction_type_OSAccount=Cuenta del Sistema Operativo
-BlackboardArtifactNode_getViewSrcContentAction_type_unknown=item
-BlackboardArtifactTagNode.createSheet.userName.text=Nombre de Usuario
-BlackboardArtifactTagNode.viewSourceArtifact.text=Ver Resultado de la Fuente
-Category.five=CAT-5: No pertinente
-Category.four=CAT-4: Ejemplar/Comparacion (Uso Interno Solamente)
-Category.one=CAT-1: Explotacion Infantil (Ilegal)
-Category.three=CAT-3: CGI/Animacion (Explotacion Infantil)
-Category.two=CAT-2: Explotacion Infantil (No Ilegal/Dificil de Determinar la Edad)
-Category.zero=CAT-0: No Categorizado (Sin Categoria)
-ContentTagNode.createSheet.artifactMD5.displayName=Hash MD5
-ContentTagNode.createSheet.artifactMD5.name=Hash MD5
-ContentTagNode.createSheet.origFileName=Nombre Original
-ContentTagNode.createSheet.userName.text=Nombre de Usuario
-DataArtifacts_name=Artefactos de Datos
-DataSourcesHostsNode_name=Fuentes de Datos
-DeletedContent.allDelFilter.text=Todos
-DeletedContent.createSheet.filterType.desc=sin descripcion
-DeletedContent.createSheet.filterType.displayName=Tipo
-DeletedContent.createSheet.name.desc=sin descripcion
-DeletedContent.createSheet.name.displayName=Nombre
-DeletedContent.deletedContentsNode.name=Archivos Eliminados
-DeletedContent.fsDelFilter.text=Sistema de Archivos
-DeleteReportAction.showConfirmDialog.errorMsg=Se produjo un error al eliminar los informes.
-DeleteReportAction.showConfirmDialog.multiple.explanation=Los informes permaneceran en el disco.
-DeleteReportAction.showConfirmDialog.single.explanation=El informe permanecera en el disco.
-FileNode.getActions.openInExtViewer.text=Abrir en Visor Externo Ctrl+E
-FileNode.getActions.searchFilesSameMD5.text=Buscar archivos con el mismo hash MD5
-FileNode.getActions.viewFileInDir.text=Ver Archivo en el Directorio
-FileNode.getActions.viewInNewWin.text=Ver item en una Nueva Ventana
-FileTypeExtensionFilters.tskDatabaseFilter.text=Bases de Datos
-FileTypes.bgCounting.placeholder=\ (contando...)
-FileTypes.createSheet.name.desc=sin descripcion
-FileTypes.createSheet.name.displayName=Nombre
-FileTypes.createSheet.name.name=Nombre
-FileTypes.name.text=Tipos de Archivo
-FileTypesByMimeType.name.text=Por Tipo MIME
-FileTypesByMimeTypeNode.createSheet.mediaSubtype.desc=sin descripcion
-FileTypesByMimeTypeNode.createSheet.mediaSubtype.displayName=Subtipo
-FileTypesByMimeTypeNode.createSheet.mediaSubtype.name=Subtipo
-FileTypesByMimeTypeNode.createSheet.mediaType.desc=sin descripcion
-FileTypesByMimeTypeNode.createSheet.mediaType.displayName=Tipo
-FileTypesByMimeTypeNode.createSheet.mediaType.name=Tipo
-GetSCOTask.occurrences.defaultDescription=No se encontraron propiedades de correlacion
-GetSCOTask.occurrences.multipleProperties=Existen varias propiedades de correlacion diferentes para este resultado
-HostGroupingNode_unknownHostNode_title=Host Desconocido
-HostNode_actions_associateWithExisting=Asociar con persona existente...
-HostNode_actions_associateWithNew=Asociar con nueva persona...
-# {0} - hostName
-HostNode_actions_removeFromPerson=Eliminar de la persona ({0})
-HostNode_createSheet_nameProperty=Nombre
-ImageNode.action.runIngestMods.text=Ejecutar Modulos de Ingesta
-ImageNode.createSheet.deviceId.desc=ID del Dispositivo de la Imagen
-ImageNode.createSheet.deviceId.displayName=ID del Dispositivo
-ImageNode.createSheet.deviceId.name=ID del Dispositivo
-ImageNode.createSheet.sectorSize.desc=Tamanio del sector de la imagen en bytes.
-ImageNode.createSheet.sectorSize.displayName=Tamanio del Sector (Bytes)
-ImageNode.createSheet.sectorSize.name=Tamanio del Sector (Bytes)
-ImageNode.createSheet.size.desc=Tamanio de la fuente de datos en bytes.
-ImageNode.createSheet.size.displayName=Tamanio (Bytes)
-ImageNode.createSheet.size.name=Tamanio (Bytes)
-ImageNode.createSheet.timezone.desc=Zona horaria de la imagen
-ImageNode.createSheet.timezone.displayName=Zona Horaria
-ImageNode.createSheet.timezone.name=Zona Horaria
-ImageNode.createSheet.type.desc=Tipo de la imagen.
-ImageNode.createSheet.type.displayName=Tipo
-ImageNode.createSheet.type.name=Tipo
-ImageNode.createSheet.type.text=Imagen
-ImageNode.getActions.openFileSearchByAttr.text=Abrir Busqueda de Archivos por Atributos
-KeyValueNode.menuItemText.viewFileInDir=Ver Archivo Fuente en el Directorio
-KeywordHits.createNodeForKey.accessTime.desc=Hora de Acceso
-KeywordHits.createNodeForKey.accessTime.displayName=Hora de Acceso
-KeywordHits.createNodeForKey.accessTime.name=Hora de Acceso
-KeywordHits.createNodeForKey.chgTime.desc=Hora de Cambio
-KeywordHits.createNodeForKey.chgTime.displayName=Hora de Cambio
-KeywordHits.createNodeForKey.chgTime.name=Hora de Cambio
-KeywordHits.createNodeForKey.modTime.desc=Hora de Modificacione
-KeywordHits.createNodeForKey.modTime.displayName=Hora de Modificacion
-KeywordHits.createNodeForKey.modTime.name=Hora de Modificacion
-KeywordHits.createSheet.filesWithHits.desc=sin descripcion
-KeywordHits.createSheet.filesWithHits.displayName=Archivos con Coincidencias
-KeywordHits.createSheet.filesWithHits.name=Archivos con Coincidencias
-KeywordHits.createSheet.listName.desc=sin descripcion
-KeywordHits.createSheet.listName.displayName=Nombre de la Lista
-KeywordHits.createSheet.listName.name=Nombre de la Lista
-KeywordHits.createSheet.name.desc=sin descripcion
-KeywordHits.createSheet.name.displayName=Nombre
-KeywordHits.createSheet.name.name=Nombre
-KeywordHits.createSheet.numChildren.desc=sin descripcion
-KeywordHits.createSheet.numChildren.displayName=Numero de Hijos
-KeywordHits.createSheet.numChildren.name=Numero de Hijos
-KeywordHits.kwHits.text=Coincidencias de Palabras Clave
-KeywordHits.simpleLiteralSearch.text=Busqueda de Palabra Clave Literal Individual
-KeywordHits.singleRegexSearch.text=Busqueda de Expresion Regular Individual
-LayoutFileNode.getActions.viewFileInDir.text=Ver Archivo en el Directorio
-LocalFilesDataSourceNode.createSheet.deviceId.desc=ID del Dispositivo de la Imagen
-LocalFilesDataSourceNode.createSheet.deviceId.displayName=ID del Dispositivo
-LocalFilesDataSourceNode.createSheet.deviceId.name=ID del Dispositivo
-LocalFilesDataSourceNode.createSheet.name.desc=sin descripcion
-LocalFilesDataSourceNode.createSheet.name.displayName=Nombre
-LocalFilesDataSourceNode.createSheet.name.name=Nombre
-LocalFilesDataSourceNode.createSheet.noDesc=sin descripcion
-LocalFilesDataSourceNode.createSheet.size.desc=Tamanio de la fuente de datos en bytes.
-LocalFilesDataSourceNode.createSheet.size.displayName=Tamanio (Bytes)
-LocalFilesDataSourceNode.createSheet.size.name=Tamanio (Bytes)
-LocalFilesDataSourceNode.createSheet.timezone.desc=Zona horaria de la imagen
-LocalFilesDataSourceNode.createSheet.timezone.displayName=Zona Horaria
-LocalFilesDataSourceNode.createSheet.timezone.name=Zona Horaria
-LocalFilesDataSourceNode.createSheet.type.desc=Tipo de la imagen.
-LocalFilesDataSourceNode.createSheet.type.displayName=Tipo
-LocalFilesDataSourceNode.createSheet.type.name=Tipo
-LocalFilesDataSourceNode.createSheet.type.text=Conjunto de Archivos Logicos
-OpenIDE-Module-Name=Modelo de Datos
-AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=No hay Nodo definido para el elemento Sleuthkit dado
-AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=No hay Nodo definido para el elemento Mostrable dado
-AbstractContentNode.exception.cannotChangeSysName.msg=No se puede cambiar el nombre del sistema.
-ArtifactStringContent.getStr.srcFilePath.text=Ruta del Archivo Fuente
-ArtifactStringContent.getStr.err=Error al obtener el contenido
-ArtifactTypeNode.createSheet.artType.name=Tipo de Artefacto
-ArtifactTypeNode.createSheet.artType.displayName=Tipo de Artefacto
-ArtifactTypeNode.createSheet.artType.desc=sin descripcion
-ArtifactTypeNode.createSheet.childCnt.name=Recuento de Hijos
-ArtifactTypeNode.createSheet.childCnt.displayName=Recuento de Hijos
-ArtifactTypeNode.createSheet.childCnt.desc=sin descripcion
-BlackboardArtifactNode.noDesc.text=sin descripcion
-BlackboardArtifactNode.createSheet.ext.name=Extension
-BlackboardArtifactNode.createSheet.ext.displayName=Extension
-BlackboardArtifactNode.createSheet.mimeType.name=Tipo MIME
-BlackboardArtifactNode.createSheet.mimeType.displayName=Tipo MIME
-BlackboardArtifactNode.createSheet.filePath.name=Ruta del Archivo
-BlackboardArtifactNode.createSheet.filePath.displayName=Ruta del Archivo
-BlackboardArtifactNode.createSheet.dataSrc.name=Fuente de Datos
-BlackboardArtifactNode.createSheet.dataSrc.displayName=Fuente de Datos
-BlackboardArtifactTagNode.createSheet.srcFile.text=Nombre de la Fuente
-BlackboardArtifactTagNode.createSheet.unavail.text=No disponible
-BlackboardArtifactTagNode.createSheet.srcFilePath.text=Ruta del Archivo Fuente
-BlackboardArtifactTagNode.createSheet.resultType.text=Tipo de Resultado
-BlackboardArtifactTagNode.createSheet.comment.text=Comentario
-BlackboardArtifactTagTypeNode.displayName.text=Etiquetas del Resultado
-BlackboardArtifactTagTypeNode.createSheet.name.name=Nombre
-BlackboardArtifactTagTypeNode.createSheet.name.displayName=Nombre
-ContentTagNode.createSheet.file.name=Archivo
-ContentTagNode.createSheet.file.displayName=Archivo
-ContentTagNode.createSheet.unavail.path=No disponible
-ContentTagNode.createSheet.filePath.name=Ruta del Archivo
-ContentTagNode.createSheet.filePath.displayName=Ruta del Archivo
-ContentTagNode.createSheet.comment.name=Comentario
-ContentTagNode.createSheet.comment.displayName=Comentario
-ContentTagNode.createSheet.fileModifiedTime.name=Hora de Modificacion
-ContentTagNode.createSheet.fileModifiedTime.displayName=Hora de Modificacion
-ContentTagNode.createSheet.fileChangedTime.name=Hora de Cambio
-ContentTagNode.createSheet.fileChangedTime.displayName=Hora de Cambio
-ContentTagNode.createSheet.fileAccessedTime.name=Hora de Acceso
-ContentTagNode.createSheet.fileAccessedTime.displayName=Hora de Acceso
-ContentTagNode.createSheet.fileCreatedTime.name=Hora de Creacion
-ContentTagNode.createSheet.fileCreatedTime.displayName=Hora de Creacion
-ContentTagNode.createSheet.fileSize.name=Tamanio
-ContentTagNode.createSheet.fileSize.displayName=Tamanio
-ContentTagTypeNode.displayName.text=Etiquetas del Archivo
-ContentTagTypeNode.createSheet.name.name=Nombre
-ContentTagTypeNode.createSheet.name.displayName=Nombre
-ContentUtils.exception.msg=No se puede extraer {0}
-DataModelActionsFactory.srcFileInDir.text=Ver Archivo Fuente en el Directorio
-DataModelActionsFactory.fileInDir.text=Ver Archivo en el Directorio
-DataModelActionsFactory.viewNewWin.text=Ver en una Nueva Ventana
-DataModelActionsFactory.openExtViewer.text=Abrir en el Visor Externo Ctrl+E
-DataSourcesNode.name=Fuentes de Datos
-DataSourcesNode.group_by_datasource.name=Archivos de Fuentes de Datos
-DataSourcesNode.createSheet.name.name=Nombre
-DataSourcesNode.createSheet.name.displayName=Nombre
-DataSourcesNode.createSheet.name.desc=sin descripcion
-DirectoryNode.parFolder.text=[carpeta principal]
-DirectoryNode.curFolder.text=[carpeta actual]
-DirectoryNode.getActions.viewFileInDir.text=Ver Archivo en el Directorio
-DirectoryNode.viewInNewWin.text=Ver en una Nueva Ventana
-EmailExtracted.mailAccount.text=Cuenta
-EmailExtracted.mailFolder.text=Carpeta
-EmailExtracted.defaultAcct.text=Predeterminado
-EmailExtracted.defaultFolder.text=Predeterminado
-EmailExtracted.createSheet.name.name=Nombre
-EmailExtracted.createSheet.name.displayName=Nombre
-EmailExtracted.createSheet.name.desc=sin descripcion
-ExtractedContentNode.name.text=Contenido Extraido
-ExtractedContentNode.createSheet.name.name=Nombre
-ExtractedContentNode.createSheet.name.displayName=Nombre
-ExtractedContentNode.createSheet.name.desc=sin descripcion
-LocalFileNode.viewFileInDir.text=Ver Archivo en el Directorio
-FileSize.fileSizeRootNode.name=Tamanio del Archivo
-FileSize.createSheet.name.name=Nombre
-FileSize.createSheet.name.displayName=Nombre
-FileSize.createSheet.name.desc=sin descripcion
-FileSize.createSheet.filterType.name=Rango de Tamanio
-FileSize.createSheet.filterType.displayName=Rango de Tamanio
-FileSize.createSheet.filterType.desc=sin descripcion
-FileSize.exception.notSupported.msg=No es compatible con este tipo de Elemento Mostrable: {0}
-FileTypeChildren.exception.notSupported.msg=No es compatible con este tipo de Elemento Mostrable: {0}
-FileTypesByExtNode.createSheet.filterType.name=Tipo de Archivo
-FileTypesByExtNode.createSheet.filterType.displayName=Tipo de Archivo
-FileTypesByExtNode.createSheet.filterType.desc=sin descripcion
-FileTypesByExtNode.createSheet.fileExt.name=Extensiones de Archivo
-FileTypesByExtNode.createSheet.fileExt.displayName=Extensiones de Archivo
-FileTypesByExtNode.createSheet.fileExt.desc=sin descripcion
-FileTypesByExtNode.fname.text=Por Extension
-FileTypesByExtNode.createSheet.name.name=Nombre
-FileTypesByExtNode.createSheet.name.displayName=Nombre
-FileTypesByExtNode.createSheet.name.desc=sin descripcion
-HashsetHits.createSheet.name.name=Nombre
-HashsetHits.createSheet.name.displayName=Nombre
-HashsetHits.createSheet.name.desc=sin descripcion
-ImageNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
-ImageNode.createSheet.name.name=Nombre
-ImageNode.createSheet.name.displayName=Nombre
-ImageNode.createSheet.name.desc=sin descripcion
-Installer.exception.tskVerStringNull.msg=La llamada de prueba de Sleuth Kit JNI se completo sin errores, pero la cadena de version estaba vacia.\!
-Installer.exception.taskVerStringBang.msg=La llamada de prueba de Sleuth Kit JNI se completo sin errores, pero la cadena de version estaba ""\!
-Installer.tskLibErr.msg=Problema con Sleuth Kit JNI. La llamada de prueba fallo.\!\n\nDetalles: {0}
-Installer.tskLibErr.err=Error Fatal\!
-InterestingHits.interestingItems.text=ELEMENTOS INTERESANTES
-InterestingHits.displayName.text=Elementos interesantes
-InterestingHits.createSheet.name.name=Nombre
-InterestingHits.createSheet.name.displayName=Nombre
-InterestingHits.createSheet.name.desc=sin descripcion
-KeyValueNode.createSheet.name.name=Nombre
-KeyValueNode.createSheet.name.displayName=Nombre
-KeyValueNode.createSheet.name.desc=n/a
-KeyValueNode.createSheet.map.desc=n/a
-LayoutFileNode.propertyType.parts=Partes
-LayoutFileNode.createSheet.name.name=Nombre
-LayoutFileNode.createSheet.name.displayName=Nombre
-LayoutFileNode.createSheet.name.desc=sin descripcion
-LayoutFileNode.createSheet.noDescr.text=sin descripcion
-LayoutFileNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
-LayoutFileNode.getActions.openInExtViewer.text=Abrir en visor externo Ctrl+E
-LocalFileNode.createSheet.name.name=Nombre
-LocalFileNode.createSheet.name.displayName=Nombre
-LocalFileNode.createSheet.name.desc=sin descripcion
-LocalFileNode.createSheet.noDescr.text=sin descripcion
-LocalFileNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
-LocalFileNode.getActions.openInExtViewer.text=Abrir en visor externo Ctrl+E
-LocalFileNode.getActions.searchFilesSameMd5.text=Buscar archivos con el mismo hash MD5
-OpenReportAction.actionDisplayName=Abrir Informe
-OpenReportAction.actionPerformed.MessageBoxTitle=Error al Abrir el Informe
-OpenReportAction.actionPerformed.NoAssociatedEditorMessage=No hay un editor asociado para informes de este tipo o la aplicacion asociada no pudo iniciarse..
-OpenReportAction.actionPerformed.NoOpenInEditorSupportMessage=Esta plataforma (sistema operativo) no admite abrir un archivo en un editor de esta manera..
-OpenReportAction.actionPerformed.MissingReportFileMessage=El archivo de informe ya no existe..
-OpenReportAction.actionPerformed.ReportFileOpenPermissionDeniedMessage=Permiso denegado para abrir el archivo de informe..
-OsAccount_listNode_name=Cuentas del Sistema Operativo (OS Accounts)
-OsAccounts.createSheet.comment.displayName=C
-OsAccounts.createSheet.comment.name=C
-# {0} - occurrenceCount
-OsAccounts.createSheet.count.description=Se encontraron {0} fuente(s) de datos con ocurrencias del valor de correlacion de la cuenta del Sistema Operativo (OS Account).
-OsAccounts.createSheet.count.displayName=O
-OsAccounts.createSheet.count.hashLookupNotRun.description=La busqueda de hash no se realizo en este archivo cuando se poblo la columna.
-OsAccounts.createSheet.count.name=O
-OsAccounts.createSheet.score.displayName=S
-OsAccounts.createSheet.score.name=S
-OsAccounts_accountHostNameProperty_desc=Nombre de Host de la Cuenta del Sistema Operativo (OS Account)
-OsAccounts_accountHostNameProperty_displayName=Host
-OsAccounts_accountHostNameProperty_name=HostName
-OsAccounts_accountNameProperty_desc=Nombre de la Cuenta del Sistema Operativo (OS Account)
-OsAccounts_accountNameProperty_displayName=Nombre
-OsAccounts_accountNameProperty_name=Nombre
-OsAccounts_accountRealmNameProperty_desc=Nombre del Reino de la Cuenta del Sistema Operativo (OS Account)
-OsAccounts_accountRealmNameProperty_displayName=Nombre del Reino
-OsAccounts_accountRealmNameProperty_name=RealmName
-OsAccounts_accountScopeNameProperty_desc=Nombre del Alcance de la Cuenta del Sistema Operativo (OS Account)
-OsAccounts_accountScopeNameProperty_displayName=Alcance
-OsAccounts_accountScopeNameProperty_name=ScopeName
-OsAccounts_createdTimeProperty_desc=Hora de Creacion de la Cuenta del Sistema Operativo (OS Account)
-OsAccounts_createdTimeProperty_displayName=Hora de Creacion
-OsAccounts_createdTimeProperty_name=creationTime
-OsAccounts_loginNameProperty_desc=Nombre de inicio de sesion de la Cuenta del Sistema Operativo (OS Account)
-OsAccounts_loginNameProperty_displayName=Nombre de inicio de sesion
-OsAccounts_loginNameProperty_name=loginName
-PersonGroupingNode_actions_delete=Eliminar Persona
-PersonGroupingNode_actions_rename=Renombrar Persona...
-PersonGroupingNode_createSheet_nameProperty=Nombre
-PersonNode_unknownPersonNode_title=Personas Desconocidas
-PoolNode.createSheet.name.desc=sin descripcion
-PoolNode.createSheet.name.displayName=Nombre
-PoolNode.createSheet.name.name=Nombre
-PoolNode.createSheet.type.desc=sin descripcion
-PoolNode.createSheet.type.displayName=Tipo
-PoolNode.createSheet.type.name=Tipo
-RecentFiles.aut0DayFilter.displayName.text=Dia Final
-RecentFiles.aut1dayFilter.displayName.text=Dia Final - 1
-RecentFiles.aut2dayFilter.displayName.text=Dia Final - 2
-RecentFiles.aut3dayFilter.displayName.text=Dia Final - 3
-RecentFiles.aut4dayFilter.displayName.text=Dia Final - 4
-RecentFiles.aut5dayFilter.displayName.text=Dia Final - 5
-RecentFiles.aut6dayFilter.displayName.text=Dia Final - 6
-RecentFilesFilterChildren.exception.defaultVisit.msg=No es compatible con este tipo de elemento desplegable (Displayable Item): {0}
-RecentFilesFilterNode.createSheet.filterType.name=Tipo de Filtro
-RecentFilesFilterNode.createSheet.filterType.displayName=Tipo de Filtro
-RecentFilesFilterNode.createSheet.filterType.desc=sin descripcion
-RecentFilesNode.createSheet.name.name=Nombre
-RecentFilesNode.createSheet.name.displayName=Nombre
-RecentFilesNode.createSheet.name.desc=sin descripcion
-RecentFilesNode.name.text=Archivos Recientes
-ReportNode.sourceModuleNameProperty.name=Nombre del Modulo de Origen
-ReportNode.sourceModuleNameProperty.displayName=Nombre del Modulo de Origen
-ReportNode.sourceModuleNameProperty.desc=Nombre del modulo que creo el informe
-ReportNode.createdTimeProperty.name=Hora de Creacion
-ReportNode.createdTimeProperty.displayName=Hora de Creacion
-ReportNode.createdTimeProperty.desc=Hora en que se creo el informe
-ReportNode.pathProperty.name=Ruta del Archivo del Informe
-ReportNode.pathProperty.displayName=Ruta del Archivo del Informe
-ReportNode.pathProperty.desc=Ruta local del archivo del informe
-ReportNode.reportNameProperty.name=Nombre del Informe
-ReportNode.reportNameProperty.displayName=Nombre del Informe
-ReportNode.reportNameProperty.desc=Nombre del informe
-ReportsListNode.displayName=Informes
-SlackFileNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
-SlackFileNode.getActions.viewFileInDir.text=Ver Archivo en el Directorio
-SpecialDirectoryNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
-TagNameNode.namePlusTags.text={0} Etiquetas
-TagNameNode.contentTagTypeNodeKey.text=Etiquetas de Contenido
-TagNameNode.bbArtTagTypeNodeKey.text=Etiquetas de Resultados
-TagNameNode.bookmark.text=Marcador
-TagNameNode.createSheet.name.name=Nombre
-TagNameNode.createSheet.name.displayName=Nombre
-TagNode.propertySheet.origName=Nombre Original
-TagNode.propertySheet.origNameDisplayName=Nombre Original
-TagsNode.displayName.text=Etiquetas
-TagsNode.createSheet.name.name=Nombre
-TagsNode.createSheet.name.displayName=Nombre
-UnsupportedContentNode.createSheet.name.desc=sin descripcion
-UnsupportedContentNode.createSheet.name.displayName=Nombre
-UnsupportedContentNode.createSheet.name.name=Nombre
-UnsupportedContentNode.displayName=Contenido no Compatible
-ViewsNode.name.text=Vistas de Archivos
-ViewsNode.createSheet.name.name=Nombre
-ViewsNode.createSheet.name.displayName=Nombre
-ViewsNode.createSheet.name.desc=sin descripcion
-VirtualDirectoryNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
-VirtualDirectoryNode.createSheet.name.name=Nombre
-VirtualDirectoryNode.createSheet.name.displayName=Nombre
-VirtualDirectoryNode.createSheet.name.desc=sin descripcion
-VirtualDirectoryNode.createSheet.noDesc=sin descripcion
-VolumeNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
-VolumeNode.createSheet.name.name=Nombre
-VolumeNode.createSheet.name.displayName=Nombre
-VolumeNode.createSheet.name.desc=sin descripcion
-VolumeNode.createSheet.id.name=ID
-VolumeNode.createSheet.id.displayName=ID
-VolumeNode.createSheet.id.desc=sin descripcion
-VolumeNode.createSheet.startSector.name=Sector de Inicio
-VolumeNode.createSheet.startSector.displayName=Sector de Inicio
-VolumeNode.createSheet.startSector.desc=sin descripcion
-VolumeNode.createSheet.lenSectors.name=Longitud en Sectores
-VolumeNode.createSheet.lenSectors.displayName=Longitud en Sectores
-VolumeNode.createSheet.lenSectors.desc=sin descripcion
-VolumeNode.createSheet.description.name=Descripcion
-VolumeNode.createSheet.description.displayName=Descripcion
-VolumeNode.createSheet.description.desc=sin descripcion
-VolumeNode.createSheet.flags.name=Indicadores
-VolumeNode.createSheet.flags.displayName=Indicadores
-VolumeNode.createSheet.flags.desc=sin descripcion
-ArtifactStringContent.getStr.artifactId.text=ID de Artefacto
-DeleteReportAction.actionDisplayName.singleReport=Eliminar Informe
-DeleteReportAction.actionDisplayName.multipleReports=Eliminar Informes
-DeleteReportAction.actionPerformed.showConfirmDialog.title=Confirmar Eliminacion
-DeleteReportAction.actionPerformed.showConfirmDialog.single.msg=¿Deseas eliminar 1 informe del caso?
-DeleteReportAction.actionPerformed.showConfirmDialog.multiple.msg=¿Deseas eliminar {0} informes del caso?
-FileTypeExtensionFilters.tskImgFilter.text=Imagenes
-FileTypeExtensionFilters.tskVideoFilter.text=Videos
-FileTypeExtensionFilters.tskAudioFilter.text=Audio
-FileTypeExtensionFilters.tskArchiveFilter.text=Archivos de Compresion
-FileTypeExtensionFilters.tskDocumentFilter.text=Documentos
-FileTypeExtensionFilters.tskExecFilter.text=Ejecutables
-FileTypeExtensionFilters.autDocHtmlFilter.text=HTML
-FileTypeExtensionFilters.autDocOfficeFilter.text=Office
-FileTypeExtensionFilters.autoDocPdfFilter.text=PDF
-FileTypeExtensionFilters.autDocTxtFilter.text=Texto Plano
-FileTypeExtensionFilters.autDocRtfFilter.text=Texto Enriquecido
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_es.properties
new file mode 100644
index 00000000000..afdb0723158
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datamodel/Bundle_es.properties
@@ -0,0 +1,489 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AbstractAbstractFileNode.accessTimeColLbl=Fecha y hora de acceso
+AbstractAbstractFileNode.attrAddrColLbl=Dir. Atrib.
+AbstractAbstractFileNode.changeTimeColLbl=Fecha y hora de modificaci\u00f3n de metadatos
+AbstractAbstractFileNode.createdTimeColLbl=Fecha y hora de creaci\u00f3n
+AbstractAbstractFileNode.createSheet.comment.displayName=C
+AbstractAbstractFileNode.createSheet.comment.name=C
+AbstractAbstractFileNode.createSheet.count.description=Se encontraron {0} fuente(s) de datos con ocurrencias del valor de correlaci\u00f3n MD5
+AbstractAbstractFileNode.createSheet.count.displayName=O
+AbstractAbstractFileNode.createSheet.count.hashLookupNotRun.description=No se hab\u00eda ejecutado la b\u00fasqueda de hash en este archivo cuando se complet\u00f3 la columna
+AbstractAbstractFileNode.createSheet.count.name=O
+AbstractAbstractFileNode.createSheet.score.name=P
+AbstractAbstractFileNode.extensionColLbl=Extensi\u00f3n
+AbstractAbstractFileNode.flagsDirColLbl=Indicadores(Dir)
+AbstractAbstractFileNode.flagsMetaColLbl=Indicadores(Meta)
+AbstractAbstractFileNode.groupidColLbl=ID de Grupo
+AbstractAbstractFileNode.knownColLbl=Conocido
+AbstractAbstractFileNode.locationColLbl=Ubicaci\u00f3n
+AbstractAbstractFileNode.md5HashColLbl=Hash MD5
+AbstractAbstractFileNode.metaAddrColLbl=Direcci\u00f3n Meta
+AbstractAbstractFileNode.mimeType=Tipo MIME
+AbstractAbstractFileNode.modeColLbl=Modo
+AbstractAbstractFileNode.modifiedTimeColLbl=Fecha y hora de modificaci\u00f3n
+AbstractAbstractFileNode.nameColLbl=Nombre
+AbstractAbstractFileNode.objectId=ID de Objeto
+AbstractAbstractFileNode.originalName=Nombre Original
+AbstractAbstractFileNode.sha256HashColLbl=Hash SHA-256
+AbstractAbstractFileNode.sizeColLbl=Tama\u00f1o
+AbstractAbstractFileNode.tagsProperty.displayName=Etiquetas
+AbstractAbstractFileNode.typeDirColLbl=Tipo(Dir)
+AbstractAbstractFileNode.typeMetaColLbl=Tipo(Meta)
+AbstractAbstractFileNode.useridColLbl=ID de Usuario
+AbstractContentNode.nodescription=sin descripci\u00f3n
+AbstractContentNode.valueLoading=cargando valor
+# {0} - significanceDisplayName
+AbstractContentNode_getScorePropertyAndDescription_description=Tiene una puntuaci\u00f3n de resultado de an\u00e1lisis de {0}
+AbstractFsContentNode.noDesc.text=sin descripci\u00f3n
+AnalysisResults_name=Resultados de An\u00e1lisis
+ArtifactStringContent.attrsTableHeader.sources=Fuente(s)
+ArtifactStringContent.attrsTableHeader.type=Tipo
+ArtifactStringContent.attrsTableHeader.value=Valor
+ArtifactStringContent.failedToGetAttributes.message=Error al obtener algunos o todos los atributos de la base de datos del caso
+ArtifactStringContent.failedToGetSourcePath.message=Error al obtener la ruta del archivo fuente desde la base de datos del caso
+AttachmentNode.getActions.openInExtViewer.text=Abrir en Visor Externo Ctrl+E
+AttachmentNode.getActions.searchFilesSameMD5.text=Buscar archivos con el mismo hash MD5
+AttachmentNode.getActions.viewFileInDir.text=Ver Archivo en el Directorio
+AttachmentNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
+# {0} - node name
+BaseChildFactory.NoSuchEventBusException.message=No hay bus de eventos para el nodo: {0}
+BlackboardArtifactNode.createSheet.artifactDetails.displayName=Detalles del Resultado
+BlackboardArtifactNode.createSheet.artifactDetails.name=Detalles del Resultado
+BlackboardArtifactNode.createSheet.artifactMD5.displayName=Hash MD5
+BlackboardArtifactNode.createSheet.artifactMD5.name=Hash MD5
+BlackboardArtifactNode.createSheet.artifactType.displayName=Tipo de Resultado
+BlackboardArtifactNode.createSheet.artifactType.name=Tipo de Resultado
+BlackboardArtifactNode.createSheet.comment.displayName=Comentario
+BlackboardArtifactNode.createSheet.comment.name=Comentario
+# {0} - occurrenceCount
+# {1} - attributeType
+BlackboardArtifactNode.createSheet.count.description=Se encontraron {0} fuente(s) de datos con ocurrencias del valor de correlaci\u00f3n de tipo {1}
+BlackboardArtifactNode.createSheet.count.displayName=O
+BlackboardArtifactNode.createSheet.count.name=O
+BlackboardArtifactNode.createSheet.count.noCorrelationAttributes.description=No se encontraron propiedades de correlaci\u00f3n
+BlackboardArtifactNode.createSheet.count.noCorrelationValues.description=No se pueden encontrar otras ocurrencias porque no existe un valor para la propiedad de correlaci\u00f3n disponible
+BlackboardArtifactNode.createSheet.fileSize.displayName=Tama\u00f1o
+BlackboardArtifactNode.createSheet.fileSize.name=Tama\u00f1o
+BlackboardArtifactNode.createSheet.interestingResult.description=El resultado tiene un resultado interesante asociado.
+BlackboardArtifactNode.createSheet.noScore.description=Sin puntuaci\u00f3n
+BlackboardArtifactNode.createSheet.notableFile.description=Archivo asociado reconocido como destacado.
+BlackboardArtifactNode.createSheet.notableTaggedItem.description=Resultado o archivo asociado etiquetado como destacado.
+BlackboardArtifactNode.createSheet.path.displayName=Ruta
+BlackboardArtifactNode.createSheet.path.name=Ruta
+BlackboardArtifactNode.createSheet.score.displayName=P
+BlackboardArtifactNode.createSheet.score.name=P
+BlackboardArtifactNode.createSheet.srcFile.displayName=Nombre de Origen
+BlackboardArtifactNode.createSheet.srcFile.name=Nombre de Origen
+BlackboardArtifactNode.createSheet.srcFile.origDisplayName=Nombre Original
+BlackboardArtifactNode.createSheet.srcFile.origName=Nombre Original
+BlackboardArtifactNode.createSheet.taggedItem.description=El resultado o el archivo asociado han sido etiquetados.
+BlackboardArtifactNode.createSheet.tags.displayName=Etiquetas
+BlackboardArtifactNode_analysisSheet_conclusion_name=Conclusi\u00f3n
+BlackboardArtifactNode_analysisSheet_configuration_name=Configuraci\u00f3n
+BlackboardArtifactNode_analysisSheet_justifaction_name=Justificaci\u00f3n
+BlackboardArtifactNode_analysisSheet_score_name=Puntuaci\u00f3n
+BlackboardArtifactNode_analysisSheet_sourceType_name=Tipo de Fuente
+BlackboardArtifactNode_analysisSheet_soureName_name=Nombre de la Fuente
+BlackboardArtifactNode_getAssociatedFileActions_viewAssociatedFileAction=Ver {0} en el Directorio
+BlackboardArtifactNode_getAssociatedFileActions_viewAssociatedFileInTimelineAction=Ver {0} en la L\u00ednea de Tiempo...
+BlackboardArtifactNode_getAssociatedTypeStr_associated=Archivo Asociado
+BlackboardArtifactNode_getAssociatedTypeStr_webCache=Archivo en Cach\u00e9
+BlackboardArtifactNode_getAssociatedTypeStr_webDownload=Archivo Descargado
+BlackboardArtifactNode_getSrcContentAction_actionDisplayName=Ver Fuente {0} en el Directorio
+BlackboardArtifactNode_getSrcContentViewerActions_openInExtViewer=Abrir en Visor Externo Ctrl+E
+BlackboardArtifactNode_getSrcContentViewerActions_viewInNewWin=Ver Elemento en Nueva Ventana
+BlackboardArtifactNode_getTimelineArtifactAction_displayName=Ver Elemento Seleccionado en la L\u00ednea de Tiempo...
+BlackboardArtifactNode_getTimelineSrcContentAction_actionDisplayName=Ver Fuente {0} en la L\u00ednea de Tiempo...
+BlackboardArtifactNode_getViewSrcContentAction_type_DataArtifact=Artefacto de Datos
+BlackboardArtifactNode_getViewSrcContentAction_type_File=Archivo
+BlackboardArtifactNode_getViewSrcContentAction_type_OSAccount=Cuenta del SO
+BlackboardArtifactNode_getViewSrcContentAction_type_unknown=Elemento
+BlackboardArtifactTagNode.createSheet.userName.text=Nombre de Usuario
+BlackboardArtifactTagNode.viewSourceArtifact.text=Ver Resultado Fuente
+Category.five=CAT-5: No pertinente
+Category.four=CAT-4: Ejemplar/Comparaci\u00f3n (Uso Interno \u00danicamente)
+Category.one=CAT-1: Explotaci\u00f3n Infantil (Ilegal)
+Category.three=CAT-3: CGI/Animaci\u00f3n (Explotaci\u00f3n Infantil)
+Category.two=CAT-2: Explotaci\u00f3n Infantil (No Ilegal/Dif\u00edcil de Determinar Edad)
+Category.zero=CAT-0: Sin categor\u00eda
+ContentTagNode.createSheet.artifactMD5.displayName=Hash MD5
+ContentTagNode.createSheet.artifactMD5.name=Hash MD5
+ContentTagNode.createSheet.origFileName=Nombre Original
+ContentTagNode.createSheet.userName.text=Nombre de Usuario
+DataArtifacts_name=Artefactos de Datos
+DataSourcesHostsNode_name=Fuentes de Datos
+DeletedContent.allDelFilter.text=Todos
+DeletedContent.createSheet.filterType.desc=sin descripci\u00f3n
+DeletedContent.createSheet.filterType.displayName=Tipo
+DeletedContent.createSheet.name.desc=sin descripci\u00f3n
+DeletedContent.createSheet.name.displayName=Nombre
+DeletedContent.deletedContentsNode.name=Archivos Eliminados
+DeletedContent.fsDelFilter.text=Sistema de Archivos
+DeleteReportAction.showConfirmDialog.errorMsg=Ocurri\u00f3 un error al eliminar los informes.
+DeleteReportAction.showConfirmDialog.multiple.explanation=Los informes permanecer\u00e1n en el disco.
+DeleteReportAction.showConfirmDialog.single.explanation=El informe permanecer\u00e1 en el disco.
+FileNode.getActions.openInExtViewer.text=Abrir en Visor Externo Ctrl+E
+FileNode.getActions.searchFilesSameMD5.text=Buscar archivos con el mismo hash MD5
+FileNode.getActions.viewFileInDir.text=Ver Archivo en el Directorio
+FileNode.getActions.viewInNewWin.text=Ver Elemento en Nueva Ventana
+FileTypeExtensionFilters.tskDatabaseFilter.text=Bases de Datos
+FileTypes.bgCounting.placeholder=\ (contando...)
+FileTypes.createSheet.name.desc=sin descripci\u00f3n
+FileTypes.createSheet.name.displayName=Nombre
+FileTypes.createSheet.name.name=Nombre
+FileTypes.name.text=Tipos de Archivos
+FileTypesByMimeType.name.text=Por Tipo MIME
+FileTypesByMimeTypeNode.createSheet.mediaSubtype.desc=sin descripci\u00f3n
+FileTypesByMimeTypeNode.createSheet.mediaSubtype.displayName=Subtipo
+FileTypesByMimeTypeNode.createSheet.mediaSubtype.name=Subtipo
+FileTypesByMimeTypeNode.createSheet.mediaType.desc=sin descripci\u00f3n
+FileTypesByMimeTypeNode.createSheet.mediaType.displayName=Tipo
+FileTypesByMimeTypeNode.createSheet.mediaType.name=Tipo
+GetSCOTask.occurrences.defaultDescription=No se encontraron propiedades de correlaci\u00f3n
+GetSCOTask.occurrences.multipleProperties=Existen varias propiedades de correlaci\u00f3n diferentes para este resultado
+HostGroupingNode_unknownHostNode_title=Host Desconocido
+HostNode_actions_associateWithExisting=Asociar con persona existente...
+HostNode_actions_associateWithNew=Asociar con nueva persona...
+# {0} - hostName
+HostNode_actions_removeFromPerson=Quitar de la persona ({0})
+HostNode_createSheet_nameProperty=Nombre
+ImageNode.action.runIngestMods.text=Ejecutar m\u00f3dulos de ingesta
+ImageNode.createSheet.deviceId.desc=ID del dispositivo de la imagen
+ImageNode.createSheet.deviceId.displayName=ID del dispositivo
+ImageNode.createSheet.deviceId.name=ID del dispositivo
+ImageNode.createSheet.sectorSize.desc=Tama\u00f1o del sector de la imagen en bytes.
+ImageNode.createSheet.sectorSize.displayName=Tama\u00f1o del sector (Bytes)
+ImageNode.createSheet.sectorSize.name=Tama\u00f1o del sector (Bytes)
+ImageNode.createSheet.size.desc=Tama\u00f1o de la fuente de datos en bytes.
+ImageNode.createSheet.size.displayName=Tama\u00f1o (Bytes)
+ImageNode.createSheet.size.name=Tama\u00f1o (Bytes)
+ImageNode.createSheet.timezone.desc=Zona horaria de la imagen
+ImageNode.createSheet.timezone.displayName=Zona horaria
+ImageNode.createSheet.timezone.name=Zona horaria
+ImageNode.createSheet.type.desc=Tipo de imagen.
+ImageNode.createSheet.type.displayName=Tipo
+ImageNode.createSheet.type.name=Tipo
+ImageNode.createSheet.type.text=Imagen
+ImageNode.getActions.openFileSearchByAttr.text=Abrir b\u00fasqueda de archivos por atributos
+Installer_validate_tskLibLock_description=Otra aplicaci\u00f3n forense est\u00e1 en ejecuci\u00f3n y utiliza The Sleuth Kit.
Deb\u00e9s cerrar esa aplicaci\u00f3n antes de iniciar Autopsy.
Si esa aplicaci\u00f3n es Cyber Triage, entonces deber\u00edas actualizarla para que pueda ejecutarse al mismo tiempo que Autopsy.
+Installer_validate_tskLibLock_title=Error al llamar a la biblioteca Sleuth Kit
+KeyValueNode.menuItemText.viewFileInDir=Ver archivo fuente en el directorio
+KeywordHits.createNodeForKey.accessTime.desc=Hora de acceso
+KeywordHits.createNodeForKey.accessTime.displayName=Hora de acceso
+KeywordHits.createNodeForKey.accessTime.name=HoraDeAcceso
+KeywordHits.createNodeForKey.chgTime.desc=Hora de cambio
+KeywordHits.createNodeForKey.chgTime.displayName=Hora de cambio
+KeywordHits.createNodeForKey.chgTime.name=HoraDeCambio
+KeywordHits.createNodeForKey.modTime.desc=Hora de modificaci\u00f3n
+KeywordHits.createNodeForKey.modTime.displayName=Hora de modificaci\u00f3n
+KeywordHits.createNodeForKey.modTime.name=HoraDeModificaci\u00f3n
+KeywordHits.createSheet.filesWithHits.desc=sin descripci\u00f3n
+KeywordHits.createSheet.filesWithHits.displayName=Archivos con coincidencias
+KeywordHits.createSheet.filesWithHits.name=Archivos con coincidencias
+KeywordHits.createSheet.listName.desc=sin descripci\u00f3n
+KeywordHits.createSheet.listName.displayName=Nombre de la lista
+KeywordHits.createSheet.listName.name=Nombre de la lista
+KeywordHits.createSheet.name.desc=sin descripci\u00f3n
+KeywordHits.createSheet.name.displayName=Nombre
+KeywordHits.createSheet.name.name=Nombre
+KeywordHits.createSheet.numChildren.desc=sin descripci\u00f3n
+KeywordHits.createSheet.numChildren.displayName=N\u00famero de elementos
+KeywordHits.createSheet.numChildren.name=N\u00famero de elementos
+KeywordHits.kwHits.text=Coincidencias de palabra clave
+KeywordHits.simpleLiteralSearch.text=B\u00fasqueda de palabra clave literal \u00fanica
+KeywordHits.singleRegexSearch.text=B\u00fasqueda de expresi\u00f3n regular \u00fanica
+LayoutFileNode.getActions.viewFileInDir.text=Ver archivo en el directorio
+LocalFilesDataSourceNode.createSheet.deviceId.desc=ID del dispositivo de la imagen
+LocalFilesDataSourceNode.createSheet.deviceId.displayName=ID del dispositivo
+LocalFilesDataSourceNode.createSheet.deviceId.name=ID del dispositivo
+LocalFilesDataSourceNode.createSheet.name.desc=sin descripci\u00f3n
+LocalFilesDataSourceNode.createSheet.name.displayName=Nombre
+LocalFilesDataSourceNode.createSheet.name.name=Nombre
+LocalFilesDataSourceNode.createSheet.noDesc=sin descripci\u00f3n
+LocalFilesDataSourceNode.createSheet.size.desc=Tama\u00f1o de la fuente de datos en bytes.
+LocalFilesDataSourceNode.createSheet.size.displayName=Tama\u00f1o (Bytes)
+LocalFilesDataSourceNode.createSheet.size.name=Tama\u00f1o (Bytes)
+LocalFilesDataSourceNode.createSheet.timezone.desc=Zona horaria de la imagen
+LocalFilesDataSourceNode.createSheet.timezone.displayName=Zona horaria
+LocalFilesDataSourceNode.createSheet.timezone.name=Zona horaria
+LocalFilesDataSourceNode.createSheet.type.desc=Tipo de imagen.
+LocalFilesDataSourceNode.createSheet.type.displayName=Tipo
+LocalFilesDataSourceNode.createSheet.type.name=Tipo
+LocalFilesDataSourceNode.createSheet.type.text=Conjunto de archivos l\u00f3gicos
+OpenIDE-Module-Name=ModeloDeDatos
+AbstractContentChildren.CreateTSKNodeVisitor.exception.noNodeMsg=No se defini\u00f3 ning\u00fan nodo para el elemento Sleuthkit proporcionado
+AbstractContentChildren.createAutopsyNodeVisitor.exception.noNodeMsg=No se defini\u00f3 ning\u00fan nodo para el elemento Displayable proporcionado
+AbstractContentNode.exception.cannotChangeSysName.msg=No se puede cambiar el nombre del sistema.
+ArtifactStringContent.getStr.srcFilePath.text=Ruta del archivo fuente
+ArtifactStringContent.getStr.err=Error al obtener el contenido
+ArtifactTypeNode.createSheet.artType.name=Tipo de artefacto
+ArtifactTypeNode.createSheet.artType.displayName=Tipo de artefacto
+ArtifactTypeNode.createSheet.artType.desc=sin descripci\u00f3n
+ArtifactTypeNode.createSheet.childCnt.name=Cantidad de elementos secundarios
+ArtifactTypeNode.createSheet.childCnt.displayName=Cantidad de elementos secundarios
+ArtifactTypeNode.createSheet.childCnt.desc=sin descripci\u00f3n
+BlackboardArtifactNode.noDesc.text=sin descripci\u00f3n
+BlackboardArtifactNode.createSheet.ext.name=Extensi\u00f3n
+BlackboardArtifactNode.createSheet.ext.displayName=Extensi\u00f3n
+BlackboardArtifactNode.createSheet.mimeType.name=Tipo MIME
+BlackboardArtifactNode.createSheet.mimeType.displayName=Tipo MIME
+BlackboardArtifactNode.createSheet.filePath.name=Ruta del archivo
+BlackboardArtifactNode.createSheet.filePath.displayName=Ruta del archivo
+BlackboardArtifactNode.createSheet.dataSrc.name=Fuente de datos
+BlackboardArtifactNode.createSheet.dataSrc.displayName=Fuente de datos
+BlackboardArtifactTagNode.createSheet.srcFile.text=Nombre de la fuente
+BlackboardArtifactTagNode.createSheet.unavail.text=No disponible
+BlackboardArtifactTagNode.createSheet.srcFilePath.text=Ruta del archivo fuente
+BlackboardArtifactTagNode.createSheet.resultType.text=Tipo de resultado
+BlackboardArtifactTagNode.createSheet.comment.text=Comentario
+BlackboardArtifactTagTypeNode.displayName.text=Etiquetas de resultado
+BlackboardArtifactTagTypeNode.createSheet.name.name=Nombre
+BlackboardArtifactTagTypeNode.createSheet.name.displayName=Nombre
+ContentTagNode.createSheet.file.name=Archivo
+ContentTagNode.createSheet.file.displayName=Archivo
+ContentTagNode.createSheet.unavail.path=No disponible
+ContentTagNode.createSheet.filePath.name=Ruta del archivo
+ContentTagNode.createSheet.filePath.displayName=Ruta del archivo
+ContentTagNode.createSheet.comment.name=Comentario
+ContentTagNode.createSheet.comment.displayName=Comentario
+ContentTagNode.createSheet.fileModifiedTime.name=Hora de modificaci\u00f3n
+ContentTagNode.createSheet.fileModifiedTime.displayName=Hora de modificaci\u00f3n
+ContentTagNode.createSheet.fileChangedTime.name=Hora de cambio
+ContentTagNode.createSheet.fileChangedTime.displayName=Hora de cambio
+ContentTagNode.createSheet.fileAccessedTime.name=Hora de acceso
+ContentTagNode.createSheet.fileAccessedTime.displayName=Hora de acceso
+ContentTagNode.createSheet.fileCreatedTime.name=Hora de creaci\u00f3n
+ContentTagNode.createSheet.fileCreatedTime.displayName=Hora de creaci\u00f3n
+ContentTagNode.createSheet.fileSize.name=Tama\u00f1o
+ContentTagNode.createSheet.fileSize.displayName=Tama\u00f1o
+ContentTagTypeNode.displayName.text=Etiquetas del archivo
+ContentTagTypeNode.createSheet.name.name=Nombre
+ContentTagTypeNode.createSheet.name.displayName=Nombre
+ContentUtils.exception.msg=No se puede extraer un {0}
+DataModelActionsFactory.srcFileInDir.text=Ver archivo fuente en el directorio
+DataModelActionsFactory.fileInDir.text=Ver archivo en el directorio
+DataModelActionsFactory.viewNewWin.text=Ver en nueva ventana
+DataModelActionsFactory.openExtViewer.text=Abrir en visor externo Ctrl+E
+DataSourcesNode.name=Fuentes de datos
+DataSourcesNode.group_by_datasource.name=Archivos de Fuentes de Datos
+DataSourcesNode.createSheet.name.name=Nombre
+DataSourcesNode.createSheet.name.displayName=Nombre
+DataSourcesNode.createSheet.name.desc=sin descripci\u00f3n
+DirectoryNode.parFolder.text=[carpeta padre]
+DirectoryNode.curFolder.text=[carpeta actual]
+DirectoryNode.getActions.viewFileInDir.text=Ver archivo en el directorio
+DirectoryNode.viewInNewWin.text=Ver en una nueva ventana
+EmailExtracted.mailAccount.text=Cuenta
+EmailExtracted.mailFolder.text=Carpeta
+EmailExtracted.defaultAcct.text=Predeterminado
+EmailExtracted.defaultFolder.text=Predeterminado
+EmailExtracted.createSheet.name.name=Nombre
+EmailExtracted.createSheet.name.displayName=Nombre
+EmailExtracted.createSheet.name.desc=sin descripci\u00f3n
+ExtractedContentNode.name.text=Contenido Extra\u00eddo
+ExtractedContentNode.createSheet.name.name=Nombre
+ExtractedContentNode.createSheet.name.displayName=Nombre
+ExtractedContentNode.createSheet.name.desc=sin descripci\u00f3n
+LocalFileNode.viewFileInDir.text=Ver archivo en el directorio
+FileSize.fileSizeRootNode.name=Tama\u00f1o de archivo
+FileSize.createSheet.name.name=Nombre
+FileSize.createSheet.name.displayName=Nombre
+FileSize.createSheet.name.desc=sin descripci\u00f3n
+FileSize.createSheet.filterType.name=Rango de Tama\u00f1o
+FileSize.createSheet.filterType.displayName=Rango de Tama\u00f1o
+FileSize.createSheet.filterType.desc=sin descripci\u00f3n
+FileSize.exception.notSupported.msg=No compatible con este tipo de elemento visualizable: {0}
+FileTypeChildren.exception.notSupported.msg=No compatible con este tipo de elemento visualizable: {0}
+FileTypesByExtNode.createSheet.filterType.name=Tipo de Archivo
+FileTypesByExtNode.createSheet.filterType.displayName=Tipo de Archivo
+FileTypesByExtNode.createSheet.filterType.desc=sin descripci\u00f3n
+FileTypesByExtNode.createSheet.fileExt.name=Extensiones de Archivo
+FileTypesByExtNode.createSheet.fileExt.displayName=Extensiones de Archivo
+FileTypesByExtNode.createSheet.fileExt.desc=sin descripci\u00f3n
+FileTypesByExtNode.fname.text=Por Extensi\u00f3n
+FileTypesByExtNode.createSheet.name.name=Nombre
+FileTypesByExtNode.createSheet.name.displayName=Nombre
+FileTypesByExtNode.createSheet.name.desc=sin descripci\u00f3n
+HashsetHits.createSheet.name.name=Nombre
+HashsetHits.createSheet.name.displayName=Nombre
+HashsetHits.createSheet.name.desc=sin descripci\u00f3n
+ImageNode.getActions.viewInNewWin.text=Ver en una nueva ventana
+ImageNode.createSheet.name.name=Nombre
+ImageNode.createSheet.name.displayName=Nombre
+ImageNode.createSheet.name.desc=sin descripci\u00f3n
+Installer.exception.tskVerStringNull.msg=La llamada de prueba JNI de Sleuth Kit se complet\u00f3 sin error, pero la cadena de versi\u00f3n fue nula\!
+Installer.exception.taskVerStringBang.msg=La llamada de prueba JNI de Sleuth Kit se complet\u00f3 sin error, pero la cadena de versi\u00f3n fue ""\!
+Installer.tskLibErr.msg=Problema con Sleuth Kit JNI. \u00a1La llamada de prueba fall\u00f3\!\n \u00bfEst\u00e1 Autopsy o Cyber Triage ya en ejecuci\u00f3n?\n\nDetalles: {0}
+Installer.tskLibErr.err=Error fatal\!
+InterestingHits.interestingItems.text=ELEMENTOS INTERESANTES
+InterestingHits.displayName.text=Elementos Interesantes
+InterestingHits.createSheet.name.name=Nombre
+InterestingHits.createSheet.name.displayName=Nombre
+InterestingHits.createSheet.name.desc=sin descripci\u00f3n
+KeyValueNode.createSheet.name.name=Nombre
+KeyValueNode.createSheet.name.displayName=Nombre
+KeyValueNode.createSheet.name.desc=n/a
+KeyValueNode.createSheet.map.desc=n/a
+LayoutFileNode.propertyType.parts=Partes
+LayoutFileNode.createSheet.name.name=Nombre
+LayoutFileNode.createSheet.name.displayName=Nombre
+LayoutFileNode.createSheet.name.desc=sin descripci\u00f3n
+LayoutFileNode.createSheet.noDescr.text=sin descripci\u00f3n
+LayoutFileNode.getActions.viewInNewWin.text=Ver en nueva ventana
+LayoutFileNode.getActions.openInExtViewer.text=Abrir en visor externo Ctrl+E
+LocalFileNode.createSheet.name.name=Nombre
+LocalFileNode.createSheet.name.displayName=Nombre
+LocalFileNode.createSheet.name.desc=sin descripci\u00f3n
+LocalFileNode.createSheet.noDescr.text=sin descripci\u00f3n
+LocalFileNode.getActions.viewInNewWin.text=Ver en nueva ventana
+LocalFileNode.getActions.openInExtViewer.text=Abrir en visor externo Ctrl+E
+LocalFileNode.getActions.searchFilesSameMd5.text=Buscar archivos con el mismo hash MD5
+OpenReportAction.actionDisplayName=Abrir informe
+OpenReportAction.actionPerformed.MessageBoxTitle=Error al abrir informe
+OpenReportAction.actionPerformed.NoAssociatedEditorMessage=No hay un editor asociado para informes de este tipo o la aplicaci\u00f3n asociada no se pudo iniciar.
+OpenReportAction.actionPerformed.NoOpenInEditorSupportMessage=Esta plataforma (sistema operativo) no admite abrir un archivo en un editor de esta manera.
+OpenReportAction.actionPerformed.MissingReportFileMessage=El archivo del informe ya no existe.
+OpenReportAction.actionPerformed.ReportFileOpenPermissionDeniedMessage=Se deneg\u00f3 el permiso para abrir el archivo del informe.
+OsAccount_listNode_name=Cuentas del SO
+OsAccounts.createSheet.comment.displayName=C
+OsAccounts.createSheet.comment.name=C
+# {0} - occurrenceCount
+OsAccounts.createSheet.count.description=Se encontraron {0} fuente(s) de datos con ocurrencias del valor de correlaci\u00f3n de la cuenta del sistema operativo
+OsAccounts.createSheet.count.displayName=O
+OsAccounts.createSheet.count.hashLookupNotRun.description=La b\u00fasqueda de hash no se hab\u00eda ejecutado en este archivo cuando se llen\u00f3 la columna
+OsAccounts.createSheet.count.name=O
+OsAccounts.createSheet.score.displayName=S
+OsAccounts.createSheet.score.name=S
+OsAccounts_accountHostNameProperty_desc=Nombre del host de la cuenta del sistema operativo
+OsAccounts_accountHostNameProperty_displayName=Host
+OsAccounts_accountHostNameProperty_name=HostName
+OsAccounts_accountNameProperty_desc=Nombre de la cuenta del sistema operativo
+OsAccounts_accountNameProperty_displayName=Nombre
+OsAccounts_accountNameProperty_name=Name
+OsAccounts_accountRealmNameProperty_desc=Nombre del dominio de la cuenta del sistema operativo
+OsAccounts_accountRealmNameProperty_displayName=Nombre del dominio
+OsAccounts_accountRealmNameProperty_name=RealmName
+OsAccounts_accountScopeNameProperty_desc=Nombre del alcance de la cuenta del sistema operativo
+OsAccounts_accountScopeNameProperty_displayName=Alcance
+OsAccounts_accountScopeNameProperty_name=ScopeName
+OsAccounts_createdTimeProperty_desc=Hora de creaci\u00f3n de la cuenta del sistema operativo
+OsAccounts_createdTimeProperty_displayName=Hora de creaci\u00f3n
+OsAccounts_createdTimeProperty_name=creationTime
+OsAccounts_loginNameProperty_desc=Nombre de inicio de sesi\u00f3n de la cuenta del sistema operativo
+OsAccounts_loginNameProperty_displayName=Nombre de usuario
+OsAccounts_loginNameProperty_name=loginName
+PersonGroupingNode_actions_delete=Eliminar persona
+PersonGroupingNode_actions_rename=Renombrar persona...
+PersonGroupingNode_createSheet_nameProperty=Nombre
+PersonNode_unknownPersonNode_title=Personas desconocidas
+PoolNode.createSheet.name.desc=sin descripci\u00f3n
+PoolNode.createSheet.name.displayName=Nombre
+PoolNode.createSheet.name.name=Name
+PoolNode.createSheet.type.desc=sin descripci\u00f3n
+PoolNode.createSheet.type.displayName=Tipo
+PoolNode.createSheet.type.name=Type
+RecentFiles.aut0DayFilter.displayName.text=D\u00eda final
+RecentFiles.aut1dayFilter.displayName.text=D\u00eda final - 1
+RecentFiles.aut2dayFilter.displayName.text=D\u00eda final - 2
+RecentFiles.aut3dayFilter.displayName.text=D\u00eda final - 3
+RecentFiles.aut4dayFilter.displayName.text=D\u00eda final - 4
+RecentFiles.aut5dayFilter.displayName.text=D\u00eda final - 5
+RecentFiles.aut6dayFilter.displayName.text=D\u00eda final - 6
+RecentFilesFilterChildren.exception.defaultVisit.msg=No es compatible para este tipo de elemento visualizable: {0}
+RecentFilesFilterNode.createSheet.filterType.name=Tipo de filtro
+RecentFilesFilterNode.createSheet.filterType.displayName=Tipo de filtro
+RecentFilesFilterNode.createSheet.filterType.desc=sin descripci\u00f3n
+RecentFilesNode.createSheet.name.name=Nombre
+RecentFilesNode.createSheet.name.displayName=Nombre
+RecentFilesNode.createSheet.name.desc=sin descripci\u00f3n
+RecentFilesNode.name.text=Archivos Recientes
+ReportNode.sourceModuleNameProperty.name=Nombre del M\u00f3dulo Fuente
+ReportNode.sourceModuleNameProperty.displayName=Nombre del M\u00f3dulo Fuente
+ReportNode.sourceModuleNameProperty.desc=Nombre del m\u00f3dulo que cre\u00f3 el informe
+ReportNode.createdTimeProperty.name=Hora de Creaci\u00f3n
+ReportNode.createdTimeProperty.displayName=Hora de Creaci\u00f3n
+ReportNode.createdTimeProperty.desc=Hora en que se cre\u00f3 el informe
+ReportNode.pathProperty.name=Ruta del Archivo del Informe
+ReportNode.pathProperty.displayName=Ruta del Archivo del Informe
+ReportNode.pathProperty.desc=Ruta local del archivo del informe
+ReportNode.reportNameProperty.name=Nombre del Informe
+ReportNode.reportNameProperty.displayName=Nombre del Informe
+ReportNode.reportNameProperty.desc=Nombre del informe
+ReportsListNode.displayName=Informes
+ScoreContent_badFilter_text=Elementos Incorrectos
+ScoreContent_createSheet_filterType_desc=sin descripci\u00f3n
+ScoreContent_createSheet_filterType_displayName=Tipo
+ScoreContent_createSheet_name_desc=sin descripci\u00f3n
+ScoreContent_createSheet_name_displayName=Nombre
+ScoreContent_ScoreContentNode_name=Puntaje
+ScoreContent_ScoreFileNode_type=Archivo
+ScoreContent_susFilter_text=Elementos Sospechosos
+SlackFileNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
+SlackFileNode.getActions.viewFileInDir.text=Ver Archivo en el Directorio
+SpecialDirectoryNode.getActions.viewInNewWin.text=Ver en Nueva Ventana
+TagNameNode.namePlusTags.text={0} Etiquetas
+TagNameNode.contentTagTypeNodeKey.text=Etiquetas de Contenido
+TagNameNode.bbArtTagTypeNodeKey.text=Etiquetas de Resultado
+TagNameNode.bookmark.text=Marcador
+TagNameNode.createSheet.name.name=Nombre
+TagNameNode.createSheet.name.displayName=Nombre
+TagNode.propertySheet.origName=Nombre Original
+TagNode.propertySheet.origNameDisplayName=Nombre Original
+TagsNode.displayName.text=Etiquetas
+TagsNode.createSheet.name.name=Nombre
+TagsNode.createSheet.name.displayName=Nombre
+UnsupportedContentNode.createSheet.name.desc=sin descripci\u00f3n
+UnsupportedContentNode.createSheet.name.displayName=Nombre
+UnsupportedContentNode.createSheet.name.name=Nombre
+UnsupportedContentNode.displayName=Contenido No Compatible
+ViewsNode.name.text=Vistas de Archivo
+ViewsNode.createSheet.name.name=Nombre
+ViewsNode.createSheet.name.displayName=Nombre
+ViewsNode.createSheet.name.desc=sin descripci\u00f3n
+VirtualDirectoryNode.getActions.viewInNewWin.text=Ver en una nueva ventana
+VirtualDirectoryNode.createSheet.name.name=Nombre
+VirtualDirectoryNode.createSheet.name.displayName=Nombre
+VirtualDirectoryNode.createSheet.name.desc=sin descripci\u00f3n
+VirtualDirectoryNode.createSheet.noDesc=sin descripci\u00f3n
+VolumeNode.getActions.viewInNewWin.text=Ver en una nueva ventana
+VolumeNode.createSheet.name.name=Nombre
+VolumeNode.createSheet.name.displayName=Nombre
+VolumeNode.createSheet.name.desc=sin descripci\u00f3n
+VolumeNode.createSheet.id.name=ID
+VolumeNode.createSheet.id.displayName=ID
+VolumeNode.createSheet.id.desc=sin descripci\u00f3n
+VolumeNode.createSheet.startSector.name=Sector de inicio
+VolumeNode.createSheet.startSector.displayName=Sector de inicio
+VolumeNode.createSheet.startSector.desc=sin descripci\u00f3n
+VolumeNode.createSheet.lenSectors.name=Longitud en sectores
+VolumeNode.createSheet.lenSectors.displayName=Longitud en sectores
+VolumeNode.createSheet.lenSectors.desc=sin descripci\u00f3n
+VolumeNode.createSheet.description.name=Descripci\u00f3n
+VolumeNode.createSheet.description.displayName=Descripci\u00f3n
+VolumeNode.createSheet.description.desc=sin descripci\u00f3n
+VolumeNode.createSheet.flags.name=Indicadores
+VolumeNode.createSheet.flags.displayName=Indicadores
+VolumeNode.createSheet.flags.desc=sin descripci\u00f3n
+ArtifactStringContent.getStr.artifactId.text=ID del artefacto
+DeleteReportAction.actionDisplayName.singleReport=Eliminar informe
+DeleteReportAction.actionDisplayName.multipleReports=Eliminar informes
+DeleteReportAction.actionPerformed.showConfirmDialog.title=Confirmar eliminaci\u00f3n
+DeleteReportAction.actionPerformed.showConfirmDialog.single.msg=\u00bfDesea eliminar 1 informe del caso?
+DeleteReportAction.actionPerformed.showConfirmDialog.multiple.msg=\u00bfDesea eliminar {0} informes del caso?
+FileTypeExtensionFilters.tskImgFilter.text=Im\u00e1genes
+FileTypeExtensionFilters.tskVideoFilter.text=Videos
+FileTypeExtensionFilters.tskAudioFilter.text=Audio
+FileTypeExtensionFilters.tskArchiveFilter.text=Archivos comprimidos
+FileTypeExtensionFilters.tskDocumentFilter.text=Documentos
+FileTypeExtensionFilters.tskExecFilter.text=Ejecutables
+FileTypeExtensionFilters.autDocHtmlFilter.text=HTML
+FileTypeExtensionFilters.autDocOfficeFilter.text=Office
+FileTypeExtensionFilters.autoDocPdfFilter.text=PDF
+FileTypeExtensionFilters.autDocTxtFilter.text=Texto plano
+FileTypeExtensionFilters.autDocRtfFilter.text=Texto enriquecido
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Bundle_ar.properties
deleted file mode 100644
index be3f47c07e0..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datamodel/accounts/Bundle_ar.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-Accounts.BINNode.accountsProperty.displayName=Cuentas
-Accounts.BINNode.bankCityProperty.displayName=Ciudad del Banco
-Accounts.BINNode.bankCountryProperty.displayName=Pais del Banco
-Accounts.BINNode.bankPhoneProperty.displayName=Telefono del Banco #
-Accounts.BINNode.bankProperty.displayName=Banco
-Accounts.BINNode.bankURLProperty.displayName=URL del Banco
-Accounts.BINNode.binProperty.displayName=Numero de Identificacion del Banco
-Accounts.BINNode.brandProperty.displayName=Marca
-Accounts.BINNode.cardTypeProperty.displayName=Tipo de Tarjeta de Pago
-Accounts.BINNode.noDescription=sin descripcion
-Accounts.BINNode.schemeProperty.displayName=Esquema de Tarjeta de Credito
-# {0} - number of children
-Accounts.ByBINNode.displayName=Por BIN ({0})
-Accounts.ByBINNode.name=Por BIN
-# {0} - number of children
-Accounts.ByFileNode.displayName=Por Archivo ({0})
-Accounts.FileWithCCNNode.accountsProperty.displayName=Cuentas
-Accounts.FileWithCCNNode.nameProperty.displayName=Archivo
-Accounts.FileWithCCNNode.noDescription=sin descripcion
-Accounts.FileWithCCNNode.statusProperty.displayName=Estado
-# {0} - raw file name
-# {1} - solr chunk id
-Accounts.FileWithCCNNode.unallocatedSpaceFile.displayName={0}_chunk_{1}
-Accounts.RootNode.displayName=Cuentas de Comunicacion
-AccountsRootNode.name=Cuentas
-ApproveAccountsAction.name=Aprobar Cuentas
-RejectAccountsAction.name=Rechazar Cuentas
-ToggleShowRejected.name=Mostrar Resultados Rechazados
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/hosts/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datamodel/hosts/Bundle_ar.properties
deleted file mode 100644
index 4ba1a910eb6..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datamodel/hosts/Bundle_ar.properties
+++ /dev/null
@@ -1,64 +0,0 @@
-AddEditHostDialog_addHost_title=Agregar Host
-AddEditHostDialog_editHost_title=Editar Host
-AssociateNewPersonAction_menuTitle=Nueva Persona...
-# {0} - hostName
-# {1} - personName
-AssociateNewPersonAction_onError_description=Se produjo un error al asociar el host {0} con la nueva persona {1}.
-AssociateNewPersonAction_onError_title=Error al Asociar Nueva Persona
-# {0} - hostName
-# {1} - personName
-AssociatePersonAction_onError_description=Se produjo un error al asociar el host {0} con la persona {1}.
-AssociatePersonAction_onError_title=Error al Asociar Host con Persona
-AssociatePersonAction_unknownPerson=Persona Desconocida
-AssociatePersonsMenuAction_menuTitle=Asociar con Persona
-CTL_OpenHosts=Manage Hosts
-HostNameValidator_getValidationMessage_onDuplicate=Otro host ya tiene el mismo nombre. Por favor, elige un nombre diferente.
-HostNameValidator_getValidationMessage_onEmpty=Por favor, proporciona un texto para el nombre del host.
-HostNameValidator_getValidationMessage_sameAsOriginal=Por favor, proporciona un nuevo nombre para este host.
-# {0} - hostname
-ManageHostsDialog.failureToAdd.txt=No se puede agregar un nuevo host {0} en este momento.
-# {0} - hostname
-ManageHostsDialog.failureToDelete.txt=No se puede eliminar el host {0} en este momento.
-# {0} - hostname
-# {1} - hostId
-ManageHostsDialog.failureToEdit.txt=No se puede actualizar el host {0} con el ID: {1} en este momento..
-ManageHostsDialog.failureToGetHosts.txt=Se produjo un error al obtener los hosts para el caso actual..
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-ManageHostsDialog.hostDetailsLabel.text=Detalles del Host
-ManageHostsDialog.hostNameLabel.text=Nombre del Host:
-ManageHostsDialog.closeButton.text=Cerrar
-ManageHostsDialog.hostDescriptionTextArea.text=Hosts representan dispositivos individuales que pueden tener multiples fuentes de datos..
-ManageHostsDialog.hostListLabel.text=Hosts
-ManageHostsDialog.newButton.text=Nuevo
-ManageHostsDialog.editButton.text=Editar
-ManageHostsDialog.deleteButton.text=Eliminar
-AddEditHostDialog.nameLabel.text=Nombre:
-AddEditHostDialog.okButton.text=OK
-AddEditHostDialog.cancelButton.text=Cancelar
-AddEditHostDialog.inputTextField.text=jTextField1
-ManageHostsDialog.seeLog.txt=\ Ver registro para obtener mas informacion.
-ManageHostsDialog_title_text=Administrar Hosts
-# {0} - sourceHost
-# {1} - destHost
-MergeHostAction.confirmText=¿Estas seguro de que quieres fusionar {0} en {1}?\nEsto puede incluir la fusion de cuentas del sistema operativo y no se puede deshacer..
-MergeHostAction.confirmTitle=Confirmacion
-MergeHostAction.errorText=Se produjo un error al fusionar los hosts.\nIntentalo de nuevo en unos minutos o revisa el registro para mas detalles..
-MergeHostAction.errorTitle=Error al Fusionar Hosts
-MergeHostAction.progressIndicatorName=Fusionando Hosts
-# {0} - sourceHost
-# {1} - destHost
-MergeHostAction.progressText=Fusionando {0} en {1}...
-# {0} - sourceHostName
-# {1} - destHostName
-MergeHostAction_onError_description=Se produjo un error al fusionar el host {0} en el host {1}..
-MergeHostAction_onError_title=Error al Fusionar Hosts
-MergeHostMenuAction_menuTitle=Fusionar en Otro Host
-OpenHostsAction_displayName=Hosts
-# {0} - personName
-RemoveParentPersonAction_menuTitle=Eliminar de la Persona ({0})
-# {0} - hostName
-RemoveParentPersonAction_onError_description=Se produjo un error al eliminar la persona del host: {0}.
-RemoveParentPersonAction_onError_title=Error al Eliminar el Host de la Persona
-RemoveParentPersonAction_unknownPerson=Persona Desconocida
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/hosts/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/datamodel/hosts/Bundle_es.properties
new file mode 100644
index 00000000000..6c3e99a046a
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datamodel/hosts/Bundle_es.properties
@@ -0,0 +1,71 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AddEditHostDialog_addHost_title=A\u00f1adir Host
+AddEditHostDialog_editHost_title=Editar Host
+AssociateNewPersonAction_menuTitle=Nueva Persona...
+# {0} - hostName
+# {1} - personName
+AssociateNewPersonAction_onError_description=Ocurri\u00f3 un error al asociar el host {0} con la nueva persona {1}.
+AssociateNewPersonAction_onError_title=Error al Asociar Nueva Persona
+# {0} - hostName
+# {1} - personName
+AssociatePersonAction_onError_description=Ocurri\u00f3 un error al asociar el host {0} con la persona {1}.
+AssociatePersonAction_onError_title=Error al Asociar Host con Persona
+AssociatePersonAction_unknownPerson=Persona Desconocida
+AssociatePersonsMenuAction_menuTitle=Asociar con Persona
+CTL_OpenHosts=Gestionar Hosts
+HostNameValidator_getValidationMessage_onDuplicate=Otro host ya tiene el mismo nombre. Por favor, elija un nombre diferente.
+HostNameValidator_getValidationMessage_onEmpty=Por favor, proporcione un texto para el nombre del host.
+HostNameValidator_getValidationMessage_sameAsOriginal=Por favor, proporcione un nuevo nombre para este host.
+# {0} - hostname
+ManageHostsDialog.failureToAdd.txt=No se puede a\u00f1adir el nuevo host {0} en este momento.
+# {0} - hostname
+ManageHostsDialog.failureToDelete.txt=No se puede eliminar el host {0} en este momento.
+# {0} - hostname
+# {1} - hostId
+ManageHostsDialog.failureToEdit.txt=No se puede actualizar el host {0} con id: {1} en este momento.
+ManageHostsDialog.failureToGetHosts.txt=Ocurri\u00f3 un error al obtener los hosts del caso actual.
+# To change this license header, choose License Headers in Project Properties.
+# To change this template file, choose Tools | Templates
+# and open the template in the editor.
+ManageHostsDialog.hostDetailsLabel.text=Detalles del Host
+ManageHostsDialog.hostNameLabel.text=Nombre del Host:
+ManageHostsDialog.closeButton.text=Cerrar
+ManageHostsDialog.hostDescriptionTextArea.text=Los hosts representan dispositivos individuales que pueden tener m\u00faltiples fuentes de datos.
+ManageHostsDialog.hostListLabel.text=Hosts
+ManageHostsDialog.newButton.text=Nuevo
+ManageHostsDialog.editButton.text=Editar
+ManageHostsDialog.deleteButton.text=Eliminar
+AddEditHostDialog.nameLabel.text=Nombre:
+AddEditHostDialog.okButton.text=Aceptar
+AddEditHostDialog.cancelButton.text=Cancelar
+AddEditHostDialog.inputTextField.text=jTextField1
+ManageHostsDialog.seeLog.txt=\ Consulte el registro para m\u00e1s informaci\u00f3n.
+ManageHostsDialog_title_text=Gestionar Hosts
+# {0} - sourceHost
+# {1} - destHost
+MergeHostAction.confirmText=\u00bfEst\u00e1 seguro de que desea combinar {0} en {1}?\nEsto puede incluir la combinaci\u00f3n de cuentas del SO y no se puede deshacer.
+MergeHostAction.confirmTitle=Confirmaci\u00f3n
+MergeHostAction.errorText=Ocurri\u00f3 un error al combinar los hosts.\nIntente de nuevo en unos minutos o consulte el registro para m\u00e1s detalles.
+MergeHostAction.errorTitle=Error al Combinar Hosts
+MergeHostAction.progressIndicatorName=Combinando Hosts
+# {0} - sourceHost
+# {1} - destHost
+MergeHostAction.progressText=Combinando {0} en {1}...
+# {0} - sourceHostName
+# {1} - destHostName
+MergeHostAction_onError_description=Ocurri\u00f3 un error al combinar el host {0} en el host {1}.
+MergeHostAction_onError_title=Error al Combinar Hosts
+MergeHostMenuAction_menuTitle=Combinar en Otro Host
+OpenHostsAction_displayName=Hosts
+# {0} - personName
+RemoveParentPersonAction_menuTitle=Eliminar de la Persona ({0})
+# {0} - hostName
+RemoveParentPersonAction_onError_description=Ocurri\u00f3 un error al eliminar la persona del host: {0}.
+RemoveParentPersonAction_onError_title=Error al Eliminar el Host de la Persona
+RemoveParentPersonAction_unknownPerson=Persona Desconocida
diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/persons/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datamodel/persons/Bundle_es.properties
similarity index 58%
rename from Core/src/org/sleuthkit/autopsy/datamodel/persons/Bundle_ar.properties
rename to Core/src/org/sleuthkit/autopsy/datamodel/persons/Bundle_es.properties
index 97a0e74cf0e..6af19a9abfd 100644
--- a/Core/src/org/sleuthkit/autopsy/datamodel/persons/Bundle_ar.properties
+++ b/Core/src/org/sleuthkit/autopsy/datamodel/persons/Bundle_es.properties
@@ -1,3 +1,10 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
# To change this license header, choose License Headers in Project Properties.
# To change this template file, choose Tools | Templates
# and open the template in the editor.
@@ -9,16 +16,17 @@ AddEditPersonDialog.inputTextField.text_1=jTextField1
AddEditPersonDialog.cancelButton.text_1=Cancelar
AddEditPersonDialog.okButton.text_1=Aceptar
AddEditPersonDialog.nameLabel.text_1=Nombre:
-AddEditPersonDialog_addPerson_title=Agregar Persona
+AddEditPersonDialog_addPerson_title=A\u00f1adir Persona
AddEditPersonDialog_editPerson_title=Editar Persona
DeletePersonAction_menuTitle=Eliminar Persona
# {0} - personName
-DeletePersonAction_onError_description=Se produjo un error al eliminar la persona: {0}.
-DeletePersonAction_onError_title=Error al Eliminar el Host de la Persona
+DeletePersonAction_onError_description=Hubo un error al eliminar a la persona: {0}.
+DeletePersonAction_onError_title=Error al Eliminar Anfitri\u00f3n de la Persona
EditPersonAction_menuTitle=Editar Persona...
# {0} - personName
-EditPersonAction_onError_description=Se produjo un error al editar la persona: {0}.
+EditPersonAction_onError_description=Hubo un error al editar a la persona: {0}.
EditPersonAction_onError_title=Error al Editar Persona
-PersonNameValidator_getValidationMessage_onDuplicate=Otra persona ya tiene el mismo nombre. Por favor, elige un nombre diferente.
-PersonNameValidator_getValidationMessage_onEmpty=Por favor, proporciona un texto para el nombre de la persona.
-PersonNameValidator_getValidationMessage_sameAsOriginal=Por favor, proporciona un nuevo nombre para esta persona.
+PersonNameValidator_getValidationMessage_onDuplicate=Otra persona ya tiene el mismo nombre. Por favor, elija un nombre diferente.
+PersonNameValidator_getValidationMessage_onEmpty=Por favor, proporcione un texto para el nombre de la persona.
+PersonNameValidator_getValidationMessage_sameAsOriginal=Por favor, proporcione un nuevo nombre para esta persona.
+
diff --git a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_ar.properties
deleted file mode 100644
index 1433dc724f3..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_ar.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-
-AddRawImageTask.for.device=para el dispositivo
-AddRawImageTask.image.critical.error.adding=Error critico al agregar
-AddRawImageTask.image.noncritical.error.adding=Error no critico al agregar
-AddRawImageTask.image.notExisting=no existe.
-AddRawImageTask.noOpenCase.errMsg=No hay un caso abierto disponible.
-AddRawImageTask.progress.add.text=Agregando imagen en bruto:
-RawDSInputPanel.error.text=La ruta de la fuente de datos de multiples usuarios esta en la unidad "C:"
-RawDSInputPanel.noOpenCase.errMsg=Excepcion al obtener el caso abierto.
-RawDSInputPanel.pathLabel.text=Buscar un archivo de imagen de espacio no asignado:
-RawDSInputPanel.errorLabel.text=Etiqueta de Error
-RawDSInputPanel.browseButton.text=Buscar
-RawDSInputPanel.pathTextField.text=
-RawDSInputPanel.jBreakFileUpLabel.text=Dividir la imagen en:
-RawDSInputPanel.jNoBreakupRadioButton.text=No dividir
-RawDSInputPanel.j2GBBreakupRadioButton.text=trozos de 2 GB
-RawDSInputPanel.timeZoneLabel.text=Por favor, selecciona la zona horaria de entrada:
-RawDSProcessor.dataSourceType=Archivo de Imagen de Espacio No Asignado
diff --git a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_es.properties
new file mode 100644
index 00000000000..e48e5f0c8c3
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/Bundle_es.properties
@@ -0,0 +1,28 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+# To change this license header, choose License Headers in Project Properties.
+# To change this template file, choose Tools | Templates
+# and open the template in the editor.
+
+AddRawImageTask.for.device=para el dispositivo
+AddRawImageTask.image.critical.error.adding=Error cr\u00edtico al agregar
+AddRawImageTask.image.noncritical.error.adding=Error no cr\u00edtico al agregar
+AddRawImageTask.image.notExisting=no existe.
+AddRawImageTask.noOpenCase.errMsg=No hay un caso abierto disponible.
+AddRawImageTask.progress.add.text=Agregando imagen sin procesar:
+RawDSInputPanel.error.text=La ruta a la fuente de datos multiusuario est\u00e1 en la unidad "C:"
+RawDSInputPanel.noOpenCase.errMsg=Excepci\u00f3n al obtener el caso abierto.
+RawDSInputPanel.pathLabel.text=Buscar un archivo de imagen de espacio no asignado:
+RawDSInputPanel.errorLabel.text=Etiqueta de error
+RawDSInputPanel.browseButton.text=Buscar
+RawDSInputPanel.pathTextField.text=
+RawDSInputPanel.jBreakFileUpLabel.text=Dividir imagen en:
+RawDSInputPanel.jNoBreakupRadioButton.text=No dividir
+RawDSInputPanel.j2GBBreakupRadioButton.text=Fragmentos de 2GB
+RawDSInputPanel.timeZoneLabel.text=Por favor seleccione la zona horaria de entrada:
+RawDSProcessor.dataSourceType=Archivo de imagen de espacio no asignado
diff --git a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/Bundle_ar.properties
deleted file mode 100644
index fdb56b37c3a..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/Bundle_ar.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-XRYDataSourceProcessor.childNotReadable=La ruta de nivel superior [ %s ] no es legible
-XRYDataSourceProcessor.dataSourceType=Exportacion de Texto XRY
-XRYDataSourceProcessor.fileAdded=Agregado %s a la base de datos del caso
-XRYDataSourceProcessor.ioError=Se produjo un error de E/S al intentar probar la carpeta seleccionada
-XRYDataSourceProcessor.noCurrentCase=Ningun caso esta abierto.
-XRYDataSourceProcessor.noPathSelected=Por favor, selecciona una carpeta que contenga archivos de texto XRY exportados
-XRYDataSourceProcessor.notAFolder=La ruta seleccionada no es una carpeta
-XRYDataSourceProcessor.notReadable=La carpeta seleccionada no es legible
-XRYDataSourceProcessor.notXRYFolder=La carpeta seleccionada no contenia archivos de texto XRY
-XRYDataSourceProcessor.preppingFiles=Preparando para agregar archivos a la base de datos del caso
-XRYDataSourceProcessor.processingFiles=Procesando todos los archivos XRY...
-XRYDataSourceProcessor.unexpectedError=Se produjo un error interno al procesar el informe XRY
-XRYDataSourceProcessorConfigPanel.fileBrowserButton.text=Navegar
-XRYDataSourceProcessorConfigPanel.filePathTextField.text=
-XRYDataSourceProcessorConfigPanel.xrySelectFolderLabel.text=Selecciona una carpeta que contenga archivos de texto XRY exportados
-XRYDataSourceProcessorConfigPanel.errorLabel.text=
diff --git a/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/Bundle_es.properties
new file mode 100644
index 00000000000..ff3684da85b
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datasourceprocessors/xry/Bundle_es.properties
@@ -0,0 +1,23 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+XRYDataSourceProcessor.childNotReadable=La ruta de nivel superior [ %s ] no es legible
+XRYDataSourceProcessor.dataSourceType=Exportaci\u00f3n de texto XRY
+XRYDataSourceProcessor.fileAdded=%s agregado a la base de datos del caso
+XRYDataSourceProcessor.ioError=Ocurri\u00f3 un error de E/S al intentar probar la carpeta seleccionada
+XRYDataSourceProcessor.noCurrentCase=No hay ning\u00fan caso abierto.
+XRYDataSourceProcessor.noPathSelected=Por favor seleccione una carpeta que contenga archivos de texto exportados de XRY
+XRYDataSourceProcessor.notAFolder=La ruta seleccionada no es una carpeta
+XRYDataSourceProcessor.notReadable=La ruta seleccionada no es legible
+XRYDataSourceProcessor.notXRYFolder=La carpeta seleccionada no contiene archivos de texto XRY
+XRYDataSourceProcessor.preppingFiles=Preparando para agregar archivos a la base de datos del caso
+XRYDataSourceProcessor.processingFiles=Procesando todos los archivos XRY...
+XRYDataSourceProcessor.unexpectedError=Ocurri\u00f3 un error interno al procesar el informe XRY
+XRYDataSourceProcessorConfigPanel.fileBrowserButton.text=Examinar
+XRYDataSourceProcessorConfigPanel.filePathTextField.text=
+XRYDataSourceProcessorConfigPanel.xrySelectFolderLabel.text=Seleccione una carpeta que contenga archivos de texto exportados de XRY
+XRYDataSourceProcessorConfigPanel.errorLabel.text=
diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/datamodel/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datasourcesummary/datamodel/Bundle_ar.properties
deleted file mode 100644
index 410f0a55736..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/datamodel/Bundle_ar.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-DataSourceUserActivitySummary_getRecentAccounts_calllogMessage=Registro de Llamadas
-DataSourceUserActivitySummary_getRecentAccounts_emailMessage=Mensaje de Correo Electronico
diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle_ar.properties
deleted file mode 100644
index 63842c35619..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle_ar.properties
+++ /dev/null
@@ -1,167 +0,0 @@
-AnalysisPanel_countColumn_title=Conteo
-AnalysisPanel_hashsetHits_tabName=Coincidencias de Hashset
-AnalysisPanel_interestingItemHits_tabName=Coincidencias de Elementos Interesantes
-AnalysisPanel_keyColumn_title=Nombre
-AnalysisPanel_keywordHits_tabName=Coincidencias de Palabras Clave
-AnalysisPanel_keywordSearchModuleName=Busqueda de Palabras Clave
-BaseDataSourceSummaryPanel_goToArtifact=Ver Resultado de Origen
-BaseDataSourceSummaryPanel_goToFile=Ver Archivo de Origen en el Directorio
-ContainerPanel_setFieldsForNonImageDataSource_na=N/A
-ContainerPanel_tabName=Contenedor
-CTL_DataSourceSummaryAction=Resumen de Fuentes de Datos
-DataSourceSummaryDialog.closeButton.text=Cerrar
-ContainerPanel.displayNameLabel.text=Nombre de Visualizacion:
-ContainerPanel.originalNameLabel.text=Nombre:
-ContainerPanel.deviceIdLabel.text=ID del Dispositivo:
-ContainerPanel.timeZoneLabel.text=Zona Horaria:
-ContainerPanel.imageTypeLabel.text=Tipo de Imagen:
-ContainerPanel.sizeLabel.text=Tamanio:
-ContainerPanel.sectorSizeLabel.text=Tamanio de Sector:
-ContainerPanel.md5HashLabel.text=MD5:
-ContainerPanel.sha1HashLabel.text=SHA1:
-ContainerPanel.sha256HashLabel.text=SHA256:
-ContainerPanel.filePathsLabel.text=Rutas de Archivos:
-ContainerPanel.displayNameValue.text=
-ContainerPanel.originalNameValue.text=
-ContainerPanel.deviceIdValue.toolTipText=
-ContainerPanel.deviceIdValue.text=
-ContainerPanel.timeZoneValue.text=
-ContainerPanel.imageTypeValue.toolTipText=
-ContainerPanel.imageTypeValue.text=
-ContainerPanel.sizeValue.text=
-ContainerPanel.sectorSizeValue.text=
-ContainerPanel.md5HashValue.toolTipText=
-ContainerPanel.md5HashValue.text=
-ContainerPanel.sha1HashValue.text=
-ContainerPanel.sha256HashValue.text=
-ContainerPanel.filePathsTable.columnModel.title0=
-ContainerPanel.acquisitionDetailsTextArea.text=
-ContainerPanel.acquisitionDetailsLabel.text=Detalles de Adquisicion:
-ContainerPanel.unallocatedSizeLabel.text=Espacio No Asignado:
-ContainerPanel.unallocatedSizeValue.text=
-DataSourceSummaryDialog.window.title=Resumen de Fuentes de Datos
-DataSourceSummaryNode.column.dataSourceName.header=Nombre de la Fuente de Datos
-DataSourceSummaryNode.column.files.header=Archivos
-DataSourceSummaryNode.column.results.header=Artefactos
-DataSourceSummaryNode.column.status.header=Estado de Ingesta
-DataSourceSummaryNode.column.tags.header=Etiquetas
-DataSourceSummaryNode.column.type.header=Tipo
-DataSourceSummaryNode.viewDataSourceAction.text=Ir a Fuente de Datos
-DataSourceSummaryTabbedPane_analysisTab_title=Analisis
-DataSourceSummaryTabbedPane_detailsTab_title=Contenedor
-DataSourceSummaryTabbedPane_geolocationTab_title=Geolocalizacion
-DataSourceSummaryTabbedPane_ingestHistoryTab_title=Historial de Ingesta
-DataSourceSummaryTabbedPane_pastCasesTab_title=Casos Anteriores
-DataSourceSummaryTabbedPane_recentFileTab_title=Archivos Recientes
-DataSourceSummaryTabbedPane_timelineTab_title=Linea de Tiempo
-DataSourceSummaryTabbedPane_typesTab_title=Tipos
-DataSourceSummaryTabbedPane_userActivityTab_title=Actividad del Usuario
-DataSourceUserActivitySummary_getRecentAccounts_calllogMessage=Registro de Llamadas
-DataSourceUserActivitySummary_getRecentAccounts_emailMessage=Mensaje de Correo Electronico
-GeolocationPanel_cityColumn_title=Ciudad mas Cercana
-GeolocationPanel_countColumn_title=Conteo
-GeolocationPanel_mostCommon_tabName=Ciudades mas Comunes
-GeolocationPanel_mostRecent_tabName=Ciudades mas Recientes
-GeolocationPanel_onNoCrIngest_message=No se mostraran resultados porque el Analizador GPX no se ejecuto.
-GeolocationPanel_unknownRow_title=Desconocido
-PastCasesPanel_caseColumn_title=Caso
-PastCasesPanel_countColumn_title=Conteo
-PastCasesPanel_onNoCrIngest_message=No se mostraran resultados porque el modulo del Repositorio Central no se ejecuto.
-RecentFilesPanel_attachmentsTable_tabName=Adjuntos Recientes
-RecentFilesPanel_col_head_date=Fecha
-RecentFilesPanel_col_header_domain=Dominio
-RecentFilesPanel_col_header_path=Ruta
-RecentFilesPanel_col_header_sender=Remitente
-RecentFilesPanel_docsTable_tabName=Documentos Abiertos Recientemente
-RecentFilesPanel_downloadsTable_tabName=Descargas Recientes
-RecentFilesPanel_no_open_documents=No se encontraron documentos abiertos recientemente.
-SizeRepresentationUtil_units_bytes=bytes
-SizeRepresentationUtil_units_gigabytes=GB
-SizeRepresentationUtil_units_kilobytes=KB
-SizeRepresentationUtil_units_megabytes=MB
-SizeRepresentationUtil_units_petabytes=PB
-SizeRepresentationUtil_units_terabytes=TB
-TimelinePanel_earliestLabel_title=Mas Antiguo
-TimelinePanel_latestLabel_title=Mas Reciente
-TimlinePanel_last30DaysChart_artifactEvts_title=Eventos de Resultados
-TimlinePanel_last30DaysChart_fileEvts_title=Eventos de Archivos
-TimlinePanel_last30DaysChart_title=ultimos 30 dias
-TypesPanel_artifactsTypesPieChart_title=Tipos de Artefactos
-TypesPanel_excelTabName=Tipos
-TypesPanel_fileMimeTypesChart_audio_title=Audio
-TypesPanel_fileMimeTypesChart_documents_title=Documentos
-TypesPanel_fileMimeTypesChart_executables_title=Ejecutables
-TypesPanel_fileMimeTypesChart_images_title=Imagenes
-TypesPanel_fileMimeTypesChart_notAnalyzed_title=No Analizado
-TypesPanel_fileMimeTypesChart_other_title=Otros
-TypesPanel_fileMimeTypesChart_title=Tipos de Archivos
-TypesPanel_fileMimeTypesChart_unknown_title=Desconocido
-TypesPanel_fileMimeTypesChart_valueLabel=Conteo
-TypesPanel_fileMimeTypesChart_videos_title=Videos
-TypesPanel_filesByCategoryTable_allocatedRow_title=Archivos Asignados
-TypesPanel_filesByCategoryTable_directoryRow_title=Directorios
-TypesPanel_filesByCategoryTable_slackRow_title=Archivos de Slack
-TypesPanel_filesByCategoryTable_unallocatedRow_title=Archivos No Asignados
-TypesPanel_osLabel_title=OS
-TypesPanel_sizeLabel_title=Tamanio
-TypesPanel_usageLabel_title=Uso
-UserActivityPanel.programsRunLabel.text=Programas Recientes
-UserActivityPanel.recentAccountsLabel.text=Tipos de Cuentas Utilizadas Recientemente
-UserActivityPanel.topWebSearchLabel.text=Busquedas Web Recientes
-UserActivityPanel.topDevicesAttachedLabel.text=Dispositivos Adjuntados Recientemente
-UserActivityPanel.recentDomainsLabel.text=Dominios Recientes
-AnalysisPanel.hashsetHitsLabel.text=Coincidencias de Hashset
-AnalysisPanel.keywordHitsLabel.text=Coincidencias de Palabras Clave
-AnalysisPanel.interestingItemLabel.text=Coincidencias de Elementos Interesantes
-RecentFilesPanel.openDocsLabel.text=Documentos Abiertos Recientemente
-RecentFilesPanel.downloadLabel.text=Descargas Recientes
-RecentFilesPanel.attachmentLabel.text=Adjuntos Recientes
-DataSourceSummaryTabbedPane.noDataSourceLabel.text=No se ha seleccionado ninguna fuente de datos.
-TimelinePanel.activityRangeLabel.text=Rango de Actividad
-GeolocationPanel.withinDistanceLabel.text=Las ubicaciones a mas de 150 km de una ciudad apareceran como 'Desconocidas'
-GeolocationPanel.mostRecentLabel.text=Ciudades Recientes de los Resultados de Geolocalizacion
-GeolocationPanel.withinDistanceLabel1.text=Las ubicaciones a mas de 150 km de una ciudad apareceran como 'Desconocidas'
-GeolocationPanel.mostCommonLabel.text=Ciudades mas Comunes de los Resultados de Geolocalizacion
-GeolocationPanel.recentViewInGeolocationBtn.text=Ver en el Mapa
-GeolocationPanel.commonViewInGeolocationBtn.text=Ver en el Mapa
-RecentFilesPanel.rightClickForMoreOptions1.text=Haz clic derecho en la fila para mas opciones
-RecentFilesPanel.rightClickForMoreOptions2.text=Haz clic derecho en la fila para mas opciones
-RecentFilesPanel.rightClickForMoreOptions3.text=Haz clic derecho en la fila para mas opciones
-UserActivityPanel.rightClickForMoreOptions1.text=Haz clic derecho en la fila para mas opciones
-UserActivityPanel.rightClickForMoreOptions2.text=Haz clic derecho en la fila para mas opciones
-UserActivityPanel.rightClickForMoreOptions3.text=Haz clic derecho en la fila para mas opciones
-UserActivityPanel.rightClickForMoreOptions4.text=Haz clic derecho en la fila para mas opciones
-UserActivityPanel.rightClickForMoreOptions5.text=Haz clic derecho en la fila para mas opciones
-TimelinePanel.viewInTimelineBtn.text=Ver en la Linea de Tiempo
-ExportPanel.xlsxExportMessage.text=Exportar Datos del Resumen de Fuentes de Datos a un Documento de Excel.
-ExportPanel.xlsxExportButton.text=Exportar Datos del Resumen
-ExcelExportDialog.titleLabel.text=El Resumen de Fuentes de Datos se ha exportado a:
-ExcelExportDialog.okButton.text=Aceptar
-PastCasesPanel_notableFileTable_tabName=Casos con Elementos Comunes que fueron Marcados como Destacados
-PastCasesPanel.notableFileLabel.text=Casos con elementos comunes marcados como destacados
-PastCasesPanel.seenDeviceLabel.text=Casos con los mismos ID de dispositivos (USB, Wifi, SIM, etc.)
-PastCasesPanel.seenResultLabel.text=Casos con las mismas direcciones (Correo electronico, Telefono, etc.)
-PastCasesPanel.warningLabel.text=NOTA: Estos resultados son desde el momento de la ingestion. No son actualizaciones en tiempo real..
-UserActivityPanel_noDataExists=No existen datos de comunicacion
-UserActivityPanel_tab_title=Actividad del Usuario
-UserActivityPanel_TopAccountTableModel_accountType_header=Tipo de Cuenta
-UserActivityPanel_TopAccountTableModel_lastAccess_header=ultimo Acceso
-UserActivityPanel_TopAccountTableModel_tabName=Tipos de Cuentas Utilizadas Recientemente
-UserActivityPanel_TopDeviceAttachedTableModel_dateAccessed_header=ultimo Acceso
-UserActivityPanel_TopDeviceAttachedTableModel_deviceId_header=ID del Dispositivo
-UserActivityPanel_TopDeviceAttachedTableModel_makeModel_header=Marca y Modelo
-UserActivityPanel_TopDeviceAttachedTableModel_tabName=Dispositivos Adjuntados Recientemente
-UserActivityPanel_TopDomainsTableModel_count_header=Visitas
-UserActivityPanel_TopDomainsTableModel_domain_header=Dominio
-UserActivityPanel_TopDomainsTableModel_lastAccess_header=ultimo Acceso
-UserActivityPanel_TopDomainsTableModel_tabName=Dominios Recientes
-UserActivityPanel_TopProgramsTableModel_count_header=Tiempos de Ejecucion
-UserActivityPanel_TopProgramsTableModel_folder_header=Carpeta
-UserActivityPanel_TopProgramsTableModel_lastrun_header=ultima Ejecucion
-UserActivityPanel_TopProgramsTableModel_name_header=Programa
-UserActivityPanel_TopProgramsTableModel_tabName=Programas Recientes
-UserActivityPanel_TopWebSearchTableModel_dateAccessed_header=Fecha de Acceso
-UserActivityPanel_TopWebSearchTableModel_searchString_header=Cadena de Busqueda
-UserActivityPanel_TopWebSearchTableModel_tabName=Busquedas Web Recientes
-UserActivityPanel_TopWebSearchTableModel_translatedResult_header=Traducido
-ViewSummaryInformationAction.name.text=Ver Informacion del Resumen
diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle_es.properties
new file mode 100644
index 00000000000..26d04cc2d95
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle_es.properties
@@ -0,0 +1,174 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AnalysisPanel_countColumn_title=Conteo
+AnalysisPanel_hashsetHits_tabName=Coincidencias de Hashset
+AnalysisPanel_interestingItemHits_tabName=Coincidencias de Elementos Interesantes
+AnalysisPanel_keyColumn_title=Nombre
+AnalysisPanel_keywordHits_tabName=Coincidencias de Palabras Clave
+AnalysisPanel_keywordSearchModuleName=B\u00fasqueda por Palabras Clave
+BaseDataSourceSummaryPanel_goToArtifact=Ver Resultado Fuente
+BaseDataSourceSummaryPanel_goToFile=Ver Archivo Fuente en el Directorio
+ContainerPanel_setFieldsForNonImageDataSource_na=N/A
+ContainerPanel_tabName=Contenedor
+CTL_DataSourceSummaryAction=Resumen de Fuente de Datos
+DataSourceSummaryDialog.closeButton.text=Cerrar
+ContainerPanel.displayNameLabel.text=Nombre para Mostrar:
+ContainerPanel.originalNameLabel.text=Nombre:
+ContainerPanel.deviceIdLabel.text=ID del Dispositivo:
+ContainerPanel.timeZoneLabel.text=Zona Horaria:
+ContainerPanel.imageTypeLabel.text=Tipo de Imagen:
+ContainerPanel.sizeLabel.text=Tama\u00f1o:
+ContainerPanel.sectorSizeLabel.text=Tama\u00f1o de Sector:
+ContainerPanel.md5HashLabel.text=MD5:
+ContainerPanel.sha1HashLabel.text=SHA1:
+ContainerPanel.sha256HashLabel.text=SHA256:
+ContainerPanel.filePathsLabel.text=Rutas de Archivos:
+ContainerPanel.displayNameValue.text=
+ContainerPanel.originalNameValue.text=
+ContainerPanel.deviceIdValue.toolTipText=
+ContainerPanel.deviceIdValue.text=
+ContainerPanel.timeZoneValue.text=
+ContainerPanel.imageTypeValue.toolTipText=
+ContainerPanel.imageTypeValue.text=
+ContainerPanel.sizeValue.text=
+ContainerPanel.sectorSizeValue.text=
+ContainerPanel.md5HashValue.toolTipText=
+ContainerPanel.md5HashValue.text=
+ContainerPanel.sha1HashValue.text=
+ContainerPanel.sha256HashValue.text=
+ContainerPanel.filePathsTable.columnModel.title0=
+ContainerPanel.acquisitionDetailsTextArea.text=
+ContainerPanel.acquisitionDetailsLabel.text=Detalles de Adquisici\u00f3n:
+ContainerPanel.unallocatedSizeLabel.text=Espacio No Asignado:
+ContainerPanel.unallocatedSizeValue.text=
+DataSourceSummaryDialog.window.title=Resumen de Fuentes de Datos
+DataSourceSummaryNode.column.dataSourceName.header=Nombre de Fuente de Datos
+DataSourceSummaryNode.column.files.header=Archivos
+DataSourceSummaryNode.column.results.header=Artefactos
+DataSourceSummaryNode.column.status.header=Estado de Procesamiento
+DataSourceSummaryNode.column.tags.header=Etiquetas
+DataSourceSummaryNode.column.type.header=Tipo
+DataSourceSummaryNode.viewDataSourceAction.text=Ir a Fuente de Datos
+DataSourceSummaryTabbedPane_analysisTab_title=An\u00e1lisis
+DataSourceSummaryTabbedPane_detailsTab_title=Contenedor
+DataSourceSummaryTabbedPane_geolocationTab_title=Geolocalizaci\u00f3n
+DataSourceSummaryTabbedPane_ingestHistoryTab_title=Historial de Procesamiento
+DataSourceSummaryTabbedPane_pastCasesTab_title=Casos Anteriores
+DataSourceSummaryTabbedPane_recentFileTab_title=Archivos Recientes
+DataSourceSummaryTabbedPane_timelineTab_title=L\u00ednea de Tiempo
+DataSourceSummaryTabbedPane_typesTab_title=Tipos
+DataSourceSummaryTabbedPane_userActivityTab_title=Actividad del Usuario
+DataSourceUserActivitySummary_getRecentAccounts_calllogMessage=Registro de Llamadas
+DataSourceUserActivitySummary_getRecentAccounts_emailMessage=Mensaje de Correo Electr\u00f3nico
+GeolocationPanel_cityColumn_title=Ciudad M\u00e1s Cercana
+GeolocationPanel_countColumn_title=Conteo
+GeolocationPanel_mostCommon_tabName=Ciudades M\u00e1s Comunes
+GeolocationPanel_mostRecent_tabName=Ciudades M\u00e1s Recientes
+GeolocationPanel_onNoCrIngest_message=No se mostrar\u00e1n resultados porque el Analizador GPX no fue ejecutado.
+GeolocationPanel_unknownRow_title=Desconocido
+PastCasesPanel_caseColumn_title=Caso
+PastCasesPanel_countColumn_title=Conteo
+PastCasesPanel_onNoCrIngest_message=No se mostrar\u00e1n resultados porque el m\u00f3dulo del Repositorio Central no fue ejecutado.
+RecentFilesPanel_attachmentsTable_tabName=Adjuntos Recientes
+RecentFilesPanel_col_head_date=Fecha
+RecentFilesPanel_col_header_domain=Dominio
+RecentFilesPanel_col_header_path=Ruta
+RecentFilesPanel_col_header_sender=Remitente
+RecentFilesPanel_docsTable_tabName=Documentos Abiertos Recientemente
+RecentFilesPanel_downloadsTable_tabName=Descargas Recientes
+RecentFilesPanel_no_open_documents=No se encontraron documentos abiertos recientemente.
+SizeRepresentationUtil_units_bytes=bytes
+SizeRepresentationUtil_units_gigabytes=GB
+SizeRepresentationUtil_units_kilobytes=KB
+SizeRepresentationUtil_units_megabytes=MB
+SizeRepresentationUtil_units_petabytes=PB
+SizeRepresentationUtil_units_terabytes=TB
+TimelinePanel_earliestLabel_title=M\u00e1s Antiguo
+TimelinePanel_latestLabel_title=\u00daltimos
+TimlinePanel_last30DaysChart_artifactEvts_title=Eventos de resultados
+TimlinePanel_last30DaysChart_fileEvts_title=Eventos de archivos
+TimlinePanel_last30DaysChart_title=\u00daltimos 30 d\u00edas
+TypesPanel_artifactsTypesPieChart_title=Tipos de artefactos
+TypesPanel_excelTabName=Tipos
+TypesPanel_fileMimeTypesChart_audio_title=Audio
+TypesPanel_fileMimeTypesChart_documents_title=Documentos
+TypesPanel_fileMimeTypesChart_executables_title=Ejecutables
+TypesPanel_fileMimeTypesChart_images_title=Im\u00e1genes
+TypesPanel_fileMimeTypesChart_notAnalyzed_title=No analizado
+TypesPanel_fileMimeTypesChart_other_title=Otros
+TypesPanel_fileMimeTypesChart_title=Tipos de archivos
+TypesPanel_fileMimeTypesChart_unknown_title=Desconocido
+TypesPanel_fileMimeTypesChart_valueLabel=Conteo
+TypesPanel_fileMimeTypesChart_videos_title=Videos
+TypesPanel_filesByCategoryTable_allocatedRow_title=Archivos asignados
+TypesPanel_filesByCategoryTable_directoryRow_title=Directorios
+TypesPanel_filesByCategoryTable_slackRow_title=Archivos slack
+TypesPanel_filesByCategoryTable_unallocatedRow_title=Archivos no asignados
+TypesPanel_osLabel_title=SO
+TypesPanel_sizeLabel_title=Tamano
+TypesPanel_usageLabel_title=Uso
+UserActivityPanel.programsRunLabel.text=Programas recientes
+UserActivityPanel.recentAccountsLabel.text=Tipos de cuenta usados recientemente
+UserActivityPanel.topWebSearchLabel.text=B\u00fasquedas web recientes
+UserActivityPanel.topDevicesAttachedLabel.text=Dispositivos conectados recientemente
+UserActivityPanel.recentDomainsLabel.text=Dominios recientes
+AnalysisPanel.hashsetHitsLabel.text=Coincidencias de hashset
+AnalysisPanel.keywordHitsLabel.text=Coincidencias de palabras clave
+AnalysisPanel.interestingItemLabel.text=Coincidencias de elementos interesantes
+RecentFilesPanel.openDocsLabel.text=Documentos abiertos recientemente
+RecentFilesPanel.downloadLabel.text=Descargas recientes
+RecentFilesPanel.attachmentLabel.text=Archivos adjuntos recientes
+DataSourceSummaryTabbedPane.noDataSourceLabel.text=No se ha seleccionado una fuente de datos.
+TimelinePanel.activityRangeLabel.text=Rango de actividad
+GeolocationPanel.withinDistanceLabel.text=Ubicaciones a m\u00e1s de 150 km de una ciudad se listar\u00e1n como 'Desconocido'
+GeolocationPanel.mostRecentLabel.text=Ciudades recientes de los resultados de geolocalizaci\u00f3n
+GeolocationPanel.withinDistanceLabel1.text=Ubicaciones a m\u00e1s de 150 km de una ciudad se listar\u00e1n como 'Desconocido'
+GeolocationPanel.mostCommonLabel.text=Ciudades m\u00e1s comunes de los resultados de geolocalizaci\u00f3n
+GeolocationPanel.recentViewInGeolocationBtn.text=Ver en el mapa
+GeolocationPanel.commonViewInGeolocationBtn.text=Ver en el mapa
+RecentFilesPanel.rightClickForMoreOptions1.text=Haga clic derecho en la fila para m\u00e1s opciones
+RecentFilesPanel.rightClickForMoreOptions2.text=Haga clic derecho en la fila para m\u00e1s opciones
+RecentFilesPanel.rightClickForMoreOptions3.text=Haga clic derecho en la fila para m\u00e1s opciones
+UserActivityPanel.rightClickForMoreOptions1.text=Haga clic derecho en la fila para m\u00e1s opciones
+UserActivityPanel.rightClickForMoreOptions2.text=Haga clic derecho en la fila para m\u00e1s opciones
+UserActivityPanel.rightClickForMoreOptions3.text=Haga clic derecho en la fila para m\u00e1s opciones
+UserActivityPanel.rightClickForMoreOptions4.text=Haga clic derecho en la fila para m\u00e1s opciones
+UserActivityPanel.rightClickForMoreOptions5.text=Haga clic derecho en la fila para m\u00e1s opciones
+TimelinePanel.viewInTimelineBtn.text=Ver en la l\u00ednea de tiempo
+ExportPanel.xlsxExportMessage.text=Exportar datos del resumen de la fuente de datos a un documento de Excel.
+ExportPanel.xlsxExportButton.text=Exportar datos resumidos
+ExcelExportDialog.titleLabel.text=El resumen de la fuente de datos se ha exportado a:
+ExcelExportDialog.okButton.text=Aceptar
+PastCasesPanel_notableFileTable_tabName=Casos con elementos comunes marcados como notables
+PastCasesPanel.notableFileLabel.text=Casos con elementos comunes que se marcaron como notables
+PastCasesPanel.seenDeviceLabel.text=Casos con los mismos ID de dispositivo (USB, Wifi, SIM, etc.)
+PastCasesPanel.seenResultLabel.text=Casos con las mismas direcciones (Email, Tel\u00e9fono, etc.)
+PastCasesPanel.warningLabel.text=NOTA: Estos resultados son del momento de la ingest\u00f3n. No son actualizaciones en tiempo real.
+UserActivityPanel_noDataExists=No existen datos de comunicaci\u00f3n
+UserActivityPanel_tab_title=Actividad del usuario
+UserActivityPanel_TopAccountTableModel_accountType_header=Tipo de cuenta
+UserActivityPanel_TopAccountTableModel_lastAccess_header=\u00daltimo acceso
+UserActivityPanel_TopAccountTableModel_tabName=Tipos de cuenta usados recientemente
+UserActivityPanel_TopDeviceAttachedTableModel_dateAccessed_header=\u00daltimo acceso
+UserActivityPanel_TopDeviceAttachedTableModel_deviceId_header=ID del dispositivo
+UserActivityPanel_TopDeviceAttachedTableModel_makeModel_header=Marca y modelo
+UserActivityPanel_TopDeviceAttachedTableModel_tabName=Dispositivos conectados recientemente
+UserActivityPanel_TopDomainsTableModel_count_header=Visitas
+UserActivityPanel_TopDomainsTableModel_domain_header=Dominio
+UserActivityPanel_TopDomainsTableModel_lastAccess_header=\u00daltimo acceso
+UserActivityPanel_TopDomainsTableModel_tabName=Dominios recientes
+UserActivityPanel_TopProgramsTableModel_count_header=Veces ejecutado
+UserActivityPanel_TopProgramsTableModel_folder_header=Carpeta
+UserActivityPanel_TopProgramsTableModel_lastrun_header=\u00daltima ejecuci\u00f3n
+UserActivityPanel_TopProgramsTableModel_name_header=Programa
+UserActivityPanel_TopProgramsTableModel_tabName=Programas recientes
+UserActivityPanel_TopWebSearchTableModel_dateAccessed_header=Fecha de acceso
+UserActivityPanel_TopWebSearchTableModel_searchString_header=Cadena de b\u00fasqueda
+UserActivityPanel_TopWebSearchTableModel_tabName=B\u00fasquedas web recientes
+UserActivityPanel_TopWebSearchTableModel_translatedResult_header=Traducido
+ViewSummaryInformationAction.name.text=Ver informaci\u00f3n resumida
diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/Bundle_ar.properties
deleted file mode 100644
index 8638b7f945c..00000000000
--- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/Bundle_ar.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-AbstractLoadableComponent_errorMessage_defaultText=Hubo un error al cargar los resultados.
-AbstractLoadableComponent_loadingMessage_defaultText=Cargando resultados...
-AbstractLoadableComponent_noDataExists_defaultText=No existen datos.
-IngestRunningLabel_defaultMessage=La ingestion esta en curso.
-PieChartPanel_noDataLabel=Sin Datos
diff --git a/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_es.properties
similarity index 52%
rename from Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_ar.properties
rename to Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_es.properties
index 986d569d4b7..fa9379be165 100644
--- a/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_ar.properties
+++ b/Core/src/org/sleuthkit/autopsy/diagnostics/Bundle_es.properties
@@ -1,29 +1,36 @@
-CTL_PerformancePanelAction=Diagnostics de Rendimiento
-PerformancePanel.jLabel1.text=Lectura de Imagenes:
-PerformancePanel.jLabel2.text=Lectura de la Base de Datos:
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CTL_PerformancePanelAction=Diagn\u00f3stico de Rendimiento
+PerformancePanel.jLabel1.text=Lectura de Im\u00e1genes:
+PerformancePanel.jLabel2.text=Lectura de Base de Datos:
PerformancePanel.jLabel3.text=CPU:
PerformancePanel.imgReadLabel.text=\
PerformancePanel.dbReadLabel.text=\
PerformancePanel.cpuTimeLabel.text=\
-PerformancePanel.startButton.text=Comenzar
+PerformancePanel.startButton.text=Iniciar
PerformancePanel.statusLabel.text=\
PerformancePanel.jLabel4.text=Lectura de Archivos:
PerformancePanel.fileReadLabel.text=\
-PerformancePanel.jLabel5.text=Este panel realiza una serie de pruebas para ayudar a identificar cuellos de botella en el sistema..
-PerformancePanel.title=Diagnostics de Rendimiento
+PerformancePanel.jLabel5.text=Este panel realiza una serie de pruebas para ayudar a identificar cuellos de botella en el sistema.
+PerformancePanel.title=Diagn\u00f3stico de Rendimiento
PerformancePanel.cpuTest.basemsg=Ejecutando Prueba de CPU
PerformancePanel.cpuTest.cpuLabel.md5AlgNotFound.text=Algoritmo MD5 no encontrado
-PerformancePanel.cpuTest.cpuLabel.MBHashedPerSec.text={0} MB hasheados / seg
-PerformancePanel.imgTest.statusMsg.runningImgReadTest.text=Ejecutando Prueba de Lectura de Imagenes
-PerformancePanel.label.caseNotOpen.text=Carcasa No Abierta
-PerformancePanel.label.noImgInCase.text=No hay Imagenes en la Carcasa
-PerformancePanel.ImgTest.imgLabel.MBReadPerSec.text={0} MB leidos / seg ({1})
+PerformancePanel.cpuTest.cpuLabel.MBHashedPerSec.text={0} MB procesados / seg
+PerformancePanel.imgTest.statusMsg.runningImgReadTest.text=Ejecutando Prueba de Lectura de Im\u00e1genes
+PerformancePanel.label.caseNotOpen.text=Caso No Abierto
+PerformancePanel.label.noImgInCase.text=No hay Im\u00e1genes en el Caso
+PerformancePanel.ImgTest.imgLabel.MBReadPerSec.text={0} MB le\u00eddos / seg ({1})
PerformancePanel.FileReadTest.fileReadLabel.skipped.text=Omitido
PerformancePanel.FileReadTest.statusMsg.runningFileReadTest.text=Ejecutando Prueba de Lectura de Archivos
-PerformancePanel.fileReadLabel.imgPathNotExist.text=La Ruta de la Imagen no Existe
+PerformancePanel.fileReadLabel.imgPathNotExist.text=La Ruta de la Imagen No Existe
PerformancePanel.fileReadLabel.errMakeFileReader.text=Error al crear el lector de archivos
-PerformancePanel.ImgTest.fileReadLabel.MBReadPerSec.text={0} MB leidos / seg ({1})
-PerformancePanel.dbTest.status.running=Ejecutando Prueba de Base de Datos (DB)
+PerformancePanel.ImgTest.fileReadLabel.MBReadPerSec.text={0} MB le\u00eddos / seg ({1})
+PerformancePanel.dbTest.status.running=Ejecutando Prueba de BD
PerformancePanel.dbTest.dbLabel.recordsPerSec.text={0} registros / seg
-PerformancePanel.dbTest.dbLabel.errPerformQuery.text=Error al realizar la consulta
+PerformancePanel.dbTest.dbLabel.errPerformQuery.text=Error al Ejecutar la Consulta
PerformancePanel.done.statusMsg.err.text=Error: {0}
diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_ar.properties
deleted file mode 100644
index 0309be668dc..00000000000
--- a/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_ar.properties
+++ /dev/null
@@ -1,163 +0,0 @@
-CSVWriter.done.notifyMsg.error=Error al exportar a archivo CSV
-# {0} - Output file
-CSVWriter.done.notifyMsg.success=Se escribio en {0}
-CSVWriter.progress.cancelling=Cancelando
-CSVWriter.progress.extracting=Exportando a archivo CSV
-CTL_DirectoryTreeTopComponent=arbol de Directorios
-DataResultFilterNode.viewSourceArtifact.text=Ver Resultado de la Fuente
-# {0} - dataSourceCount
-DirectoryTreeTopComponent.componentOpened.groupDataSources.text=Este caso contiene {0} fuentes de datos. ¿Desea agrupar por fuente de datos para cargar mas rapido?
-DirectoryTreeTopComponent.componentOpened.groupDataSources.title=¿Agrupar por fuente de datos?
-DirectoryTreeTopComponent.emptyMimeNode.text=Datos no disponibles. Ejecute el modulo de identificacion de tipos de archivo.
-DirectoryTreeTopComponent.resultsView.title=Listado
-ExportCSV.saveNodesToCSV.empty=No hay datos para exportar
-# {0} - Output file
-ExportCSV.saveNodesToCSV.fileExists=El archivo {0} ya existe
-ExportCSV.saveNodesToCSV.noCurrentCase=No hay un caso abierto disponible
-ExportCSV.title.text=Exportar Filas Seleccionadas a CSV
-ExternalViewerAction.actionPerformed.failure.exe.message=El archivo es un ejecutable y no se abrira.
-ExternalViewerAction.actionPerformed.failure.IO.message=No hay un editor asociado para archivos de este tipo o la aplicacion asociada no se pudo iniciar.
-ExternalViewerAction.actionPerformed.failure.missingFile.message=El archivo ya no existe.
-ExternalViewerAction.actionPerformed.failure.open.url=No se puede abrir la URL
-ExternalViewerAction.actionPerformed.failure.permission.message=Se denego el permiso para abrir el archivo.
-ExternalViewerAction.actionPerformed.failure.support.message=Esta plataforma (sistema operativo) no admite abrir un archivo en un editor de esta manera..
-# {0} - file name
-ExternalViewerAction.actionPerformed.failure.title=Error al abrir el archivo {0}
-ExternalViewerAction.actionPerformed.urlFailure.title=Error al abrir la URL
-ExternalViewerShortcutAction.title.text=Abrir en Visor Externo Ctrl+E
-ExtractUnallocAction.imageError=Error al extraer espacio no asignado de la imagen
-ExtractUnallocAction.noFiles=No se encontraron archivos no asignados en el volumen
-ExtractUnallocAction.noOpenCase.errMsg=No hay un caso abierto disponible.
-ExtractUnallocAction.volumeError=Error al extraer espacio no asignado del volumen
-# {0} - fileName
-ExtractUnallocAction.volumeInProgress=Ya se esta extrayendo el espacio no asignado en {0} - se omitira este volumen
-FileSystemDetailsAction.title.text=Detalles del Sistema de Archivos
-# {0} - dataSourceCount
-GroupDataSourcesDialog.groupDataSources.text=Este caso contiene {0} fuentes de datos.
-HINT_DirectoryTreeTopComponent=Esta es una ventana de arbol de Directorios
-OpenIDE-Module-Name=DirectoryTree
-FileSystemDetailsPanel.imgOffsetLabel.text=Desplazamiento de la Imagen:
-FileSystemDetailsPanel.fsTypeLabel.text=Tipo de Sistema de Archivos:
-FileSystemDetailsPanel.fsTypeValue.text=...
-FileSystemDetailsPanel.imgOffsetValue.text=...
-FileSystemDetailsPanel.volumeIDValue.text=...
-FileSystemDetailsPanel.blockSizeValue.text=...
-FileSystemDetailsPanel.blockCountValue.text=...
-FileSystemDetailsPanel.rootInumValue.text=...
-FileSystemDetailsPanel.firstInumValue.text=...
-FileSystemDetailsPanel.lastInumValue.text=...
-FileSystemDetailsPanel.volumeIDLabel.text=ID del Volumen:
-FileSystemDetailsPanel.blockSizeLabel.text=Tamanio del Bloque:
-FileSystemDetailsPanel.blockCountLabel.text=Cantidad de Bloques:
-FileSystemDetailsPanel.rootInumLabel.text=Entrada de Metadatos Raiz:
-FileSystemDetailsPanel.firstInumLabel.text=Primera Entrada de Metadatos:
-FileSystemDetailsPanel.lastInumLabel.text=ultima Entrada de Metadatos:
-FileSystemDetailsPanel.OKButton.text=Aceptar
-SelectionContext.dataSourceFiles=Archivos de Fuentes de Datos
-SelectionContext.dataSources=Fuentes de Datos
-SelectionContext.views=Vistas
-ViewContextAction.errorMessage.cannotFindDirectory=Error al localizar el directorio.
-ViewContextAction.errorMessage.cannotFindNode=Error al localizar el nodo de origen de datos en el arbol.
-ViewContextAction.errorMessage.cannotSelectDirectory=Error al seleccionar el directorio en el arbol.
-ViewContextAction.errorMessage.unsupportedParent=No se puede navegar a contenido no admitido en esta version.
-VolumeDetailsPanel.volumeIDLabel.text=ID del Volumen:
-VolumeDetailsPanel.volumeIDValue.text=...
-VolumeDetailsPanel.startValue.text=...
-VolumeDetailsPanel.lengthValue.text=...
-VolumeDetailsPanel.descValue.text=...
-VolumeDetailsPanel.flagsValue.text=...
-VolumeDetailsPanel.startLabel.text=Sector de Inicio:
-VolumeDetailsPanel.lengthLabel.text=Longitud en Sectores:
-VolumeDetailsPanel.descLabel.text=Descripcion:
-VolumeDetailsPanel.flagsLabel.text=Indicadores:
-VolumeDetailsPanel.OKButton.text=Aceptar
-ImageDetailsPanel.imageInfoLabel.text=Informacion de la Imagen
-ImageDetailsPanel.imgNameLabel.text=Nombre:
-ImageDetailsPanel.imgNameValue.text=...
-ImageDetailsPanel.imgTypeLabel.text=Tipo:
-ImageDetailsPanel.imgTypeValue.text=...
-ImageDetailsPanel.OKButton.text=Aceptar
-ImageDetailsPanel.imgSectorSizeLabel.text=Tamanio de Sector:
-ImageDetailsPanel.imgSectorSizeValue.text=...
-DirectoryTreeTopComponent.backButton.text=
-DirectoryTreeTopComponent.forwardButton.text=
-ImageDetailsPanel.imgTotalSizeValue.text=...
-ImageDetailsPanel.imgTotalSizeLabel.text=Tamanio Total:
-ImageDetailsPanel.imgHashValue.text=...
-ImageDetailsPanel.imgHashLabel.text=Valor de Hash:
-DataResultFilterNode.action.viewFileInDir.text=Ver Archivo en el Directorio
-DataResultFilterNode.action.viewSrcFileInDir.text=Ver Archivo de Origen en el Directorio
-DataResultFilterNode.action.viewInNewWin.text=Ver en Nueva Ventana
-DataResultFilterNode.action.openInExtViewer.text=Abrir en Visor Externo Ctrl+E
-DataResultFilterNode.action.searchFilesSameMd5.text=Buscar archivos con el mismo hash MD5
-DataResultFilterNode.action.viewInDir.text=Ver en el Directorio
-DirectoryTreeFilterNode.action.collapseAll.text=Contraer Todo
-DirectoryTreeFilterNode.action.openFileSrcByAttr.text=Busqueda de Archivos Abiertos por Atributos
-DirectoryTreeFilterNode.action.runIngestMods.text=Ejecutar Modulos de Ingesta
-DirectoryTreeTopComponent.action.viewArtContent.text=Ver Contenido del Artefacto
-ExplorerNodeActionVisitor.action.imgDetails.title=Detalles de la Imagen
-ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=Extraer Espacio No Asignado a Archivos Individuales
-ExplorerNodeActionVisitor.action.fileSystemDetails.title=Detalles del Sistema de Archivos
-ExplorerNodeActionVisitor.action.volumeDetails.title=Detalles del Volumen
-ExplorerNodeActionVisitor.action.extUnallocToSingleFile=Extraer Espacio No Asignado a Archivo Individual
-ExplorerNodeActionVisitor.volDetail.noVolMatchErr=Error: No hay coincidencias de Volumen.
-ExplorerNodeActionVisitor.imgDetail.noVolMatchesErr=Error: No hay coincidencias de Volumen.
-ExplorerNodeActionVisitor.exception.probGetParent.text=Problema al obtener el directorio padre de {0}: {1}
-ExtractAction.title.extractFiles.text=Extraer Archivo(s)
-ExtractUnallocAction.notifyMsg.unallocAlreadyBeingExtr.msg=Ya se esta extrayendo el Espacio No Asignado en esta Imagen. Por favor, seleccione una Imagen diferente..
-ExtractUnallocAction.msgDlg.folderDoesntExist.msg=La carpeta no existe. Por favor, elija una carpeta valida antes de continuar.
-ExtractUnallocAction.dlgTitle.selectDirToSaveTo.msg=Seleccionar directorio para guardar
-ExtractUnallocAction.confDlg.unallocFileAlreadyExist.msg=El archivo Unalloc para este volumen, {0}, ya existe. ¿Desea reemplazarlo?
-ExtractUnallocAction.progress.extractUnalloc.title=Extrayendo Espacio No Asignado
-ExtractUnallocAction.progress.displayName.cancelling.text=Extrayendo Espacio No Asignado (Cancelando...)
-ExtractUnallocAction.processing.counter.msg=Procesando {0} de {1} MBs
-ExtractUnallocAction.done.notifyMsg.completedExtract.title=Extraccion completada del espacio no asignado.
-ExtractUnallocAction.done.notifyMsg.completedExtract.msg=Los archivos fueron extraidos en {0}.
-ExtractUnallocAction.done.errMsg.title=Error al extraer
-ExtractUnallocAction.done.errMsg.msg=Error al extraer el espacio no asignado: {0}
-ExtractAction.done.notifyMsg.extractErr=Error al extraer archivos: {0}
-OptionsCategory_Name_ExternalViewer=Visor Externo
-OptionsCategory_Keywords_ExternalViewer=ExternalViewer
-ExternalViewerGlobalSettingsPanel.exePathLabel.MIME.text=Programa asociado con este tipo MIME
-ExternalViewerGlobalSettingsPanel.exePathLabel.EXT.text=Programa asociado con esta extension
-ExternalViewerGlobalSettingsPanel.exePathLabel.empty.text=Ningun tipo MIME o extension seleccionada
-AddExternalViewerRuleDialog.saveButton.title=Guardar
-AddExternalViewerRuleDialog.cancelButton.title=Cancelar
-AddExternalViewerRuleDialog.title=Regla de Visor Externo
-ExternalViewerGlobalSettingsPanel.JOptionPane.invalidMime.message=El tipo MIME no es valido. Agregue sus tipos personalizados en el panel de opciones de Tipos de Archivo..
-ExternalViewerGlobalSettingsPanel.JOptionPane.invalidMime.title=Tipo MIME no valido
-ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExt.message=La extension no es valida.
-ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExt.title=Extension no valida
-ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExePath.message=La ruta del ejecutable del programa no es valida.
-ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExePath.title=Ruta no valida
-ExternalViewerGlobalSettingsPanel.JOptionPane.ruleAlreadyExists.message=Ya existe una regla con este tipo MIME o extension. Por favor, editela.
-ExternalViewerGlobalSettingsPanel.JOptionPane.ruleAlreadyExists.title=Regla no aniadida
-AddExternalViewerRulePanel.mimeRadioButton.text=Tipo MIME
-AddExternalViewerRulePanel.nameTextField.text=
-AddExternalViewerRulePanel.nameLabel.text=Tipo MIME o extension
-AddExternalViewerRulePanel.browseButton.text=Explorar
-AddExternalViewerRulePanel.exePathTextField.text=
-AddExternalViewerRulePanel.exePathLabel.text=Ruta del programa para usar con archivos de este tipo o extension
-AddExternalViewerRulePanel.extRadioButton.text=Extension
-GroupDataSourcesDialog.dataSourceCountLabel.text=jLabel1
-GroupDataSourcesDialog.queryLabel.text=¿Desea agrupar por fuente de datos para una carga mas rapida?
-GroupDataSourcesDialog.yesButton.text=Si
-GroupDataSourcesDialog.noButton.text=No
-GroupDataSourcesDialog.title=¿Agrupar por Fuente de Datos?
-DirectoryTreeTopComponent.openViewPreferencesButton.text=
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title3=Titulo 4
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title2=Titulo 3
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title3_1=Titulo 4
-ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title2_1=Titulo 3
-ExternalViewerGlobalSettingsPanel.newRuleButton1.text=Nueva Regla
-ExternalViewerGlobalSettingsPanel.editRuleButton.text=Editar Regla
-ExternalViewerGlobalSettingsPanel.deleteRuleButton.text=Eliminar Regla
-ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text=Agregue sus reglas personalizadas para visores externos:
-ExternalViewerGlobalSettingsPanel.newRuleButton.text=Nueva Regla
-ExternalViewerGlobalSettingsPanel.jButton2.text=jButton2
-ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text=Explorar
-ExternalViewerGlobalSettingsPanel.HxDLabel.text=Ruta de HxD Editor:
-ExternalViewerGlobalSettingsPanel.ContentViewerExtensionLabel.text=Agregar extensiones de visor de contenido:
-FileSystemDetailsPanel.bytesLabel1.text=bytes
-FileSystemDetailsPanel.bytesLabel2.text=bytes
-VolumeDetailsPanel.generalVolumeLabel.text=Informacion General del Volumen
diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_es.properties
new file mode 100644
index 00000000000..18190b1322c
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/directorytree/Bundle_es.properties
@@ -0,0 +1,170 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CSVWriter.done.notifyMsg.error=Error al exportar al archivo CSV
+# {0} - Output file
+CSVWriter.done.notifyMsg.success=Escribi\u00f3 en {0}
+CSVWriter.progress.cancelling=Cancelando
+CSVWriter.progress.extracting=Exportando al archivo CSV
+CTL_DirectoryTreeTopComponent=\u00c1rbol de directorios
+DataResultFilterNode.viewSourceArtifact.text=Ver resultado fuente
+# {0} - dataSourceCount
+DirectoryTreeTopComponent.componentOpened.groupDataSources.text=Este caso contiene {0} fuentes de datos. \u00bfDesea agrupar por fuente de datos para una carga m\u00e1s r\u00e1pida?
+DirectoryTreeTopComponent.componentOpened.groupDataSources.title=\u00bfAgrupar por fuente de datos?
+DirectoryTreeTopComponent.emptyMimeNode.text=Datos no disponibles. Ejecute el m\u00f3dulo de identificaci\u00f3n de tipo de archivo.
+DirectoryTreeTopComponent.resultsView.title=Listado
+ExportCSV.saveNodesToCSV.empty=No hay datos para exportar
+# {0} - Output file
+ExportCSV.saveNodesToCSV.fileExists=El archivo {0} ya existe
+ExportCSV.saveNodesToCSV.noCurrentCase=No hay un caso abierto disponible
+ExportCSV.title.text=Exportar filas seleccionadas a CSV
+ExternalViewerAction.actionPerformed.failure.exe.message=El archivo es un ejecutable y no se abrir\u00e1.
+ExternalViewerAction.actionPerformed.failure.IO.message=No hay un editor asociado para archivos de este tipo o la aplicaci\u00f3n asociada fall\u00f3 al iniciarse.
+ExternalViewerAction.actionPerformed.failure.missingFile.message=El archivo ya no existe.
+ExternalViewerAction.actionPerformed.failure.open.url=No se puede abrir la URL
+ExternalViewerAction.actionPerformed.failure.permission.message=Se deneg\u00f3 el permiso para abrir el archivo.
+ExternalViewerAction.actionPerformed.failure.support.message=Esta plataforma (sistema operativo) no admite abrir un archivo en un editor de esta manera.
+# {0} - file name
+ExternalViewerAction.actionPerformed.failure.title=Error al abrir el archivo {0}
+ExternalViewerAction.actionPerformed.urlFailure.title=Error al abrir la URL
+ExternalViewerShortcutAction.title.text=Abrir en visor externo Ctrl+E
+ExtractUnallocAction.imageError=Error al extraer el espacio no asignado de la imagen
+ExtractUnallocAction.noFiles=No se encontraron archivos no asignados en el volumen
+ExtractUnallocAction.noOpenCase.errMsg=No hay un caso abierto disponible.
+ExtractUnallocAction.volumeError=Error al extraer el espacio no asignado del volumen
+# {0} - fileName
+ExtractUnallocAction.volumeInProgress=Ya se est\u00e1 extrayendo el espacio no asignado en {0} - se omitir\u00e1 este volumen
+FileSystemDetailsAction.title.text=Detalles del sistema de archivos
+# {0} - dataSourceCount
+GroupDataSourcesDialog.groupDataSources.text=Este caso contiene {0} fuentes de datos.
+HINT_DirectoryTreeTopComponent=Esta es una ventana de \u00c1rbol de directorios
+OpenIDE-Module-Name=\u00c1rbol de directorios
+FileSystemDetailsPanel.imgOffsetLabel.text=Desplazamiento de la imagen:
+FileSystemDetailsPanel.fsTypeLabel.text=Tipo de sistema de archivos:
+FileSystemDetailsPanel.fsTypeValue.text=...
+FileSystemDetailsPanel.imgOffsetValue.text=...
+FileSystemDetailsPanel.volumeIDValue.text=...
+FileSystemDetailsPanel.blockSizeValue.text=...
+FileSystemDetailsPanel.blockCountValue.text=...
+FileSystemDetailsPanel.rootInumValue.text=...
+FileSystemDetailsPanel.firstInumValue.text=...
+FileSystemDetailsPanel.lastInumValue.text=...
+FileSystemDetailsPanel.volumeIDLabel.text=ID del volumen:
+FileSystemDetailsPanel.blockSizeLabel.text=Tama\u00f1o de bloque:
+FileSystemDetailsPanel.blockCountLabel.text=Cantidad de bloques:
+FileSystemDetailsPanel.rootInumLabel.text=Entrada de metadatos raÃz:
+FileSystemDetailsPanel.firstInumLabel.text=Primera entrada de metadatos:
+FileSystemDetailsPanel.lastInumLabel.text=\u00daltima entrada de metadatos:
+FileSystemDetailsPanel.OKButton.text=Aceptar
+SelectionContext.dataSourceFiles=Archivos de fuente de datos
+SelectionContext.dataSources=Fuentes de datos
+SelectionContext.views=Vistas
+ViewContextAction.errorMessage.cannotFindDirectory=No se pudo encontrar el directorio.
+ViewContextAction.errorMessage.cannotFindNode=No se pudo encontrar el nodo de la fuente de datos en el \u00e1rbol.
+ViewContextAction.errorMessage.cannotSelectDirectory=No se pudo seleccionar el directorio en el \u00e1rbol.
+ViewContextAction.errorMessage.unsupportedParent=No se puede navegar al contenido no compatible en esta versi\u00f3n.
+VolumeDetailsPanel.volumeIDLabel.text=ID del volumen:
+VolumeDetailsPanel.volumeIDValue.text=...
+VolumeDetailsPanel.startValue.text=...
+VolumeDetailsPanel.lengthValue.text=...
+VolumeDetailsPanel.descValue.text=...
+VolumeDetailsPanel.flagsValue.text=...
+VolumeDetailsPanel.startLabel.text=Sector de inicio:
+VolumeDetailsPanel.lengthLabel.text=Longitud en sectores:
+VolumeDetailsPanel.descLabel.text=Descripci\u00f3n:
+VolumeDetailsPanel.flagsLabel.text=Banderas:
+VolumeDetailsPanel.OKButton.text=Aceptar
+ImageDetailsPanel.imageInfoLabel.text=Informaci\u00f3n de la imagen
+ImageDetailsPanel.imgNameLabel.text=Nombre:
+ImageDetailsPanel.imgNameValue.text=...
+ImageDetailsPanel.imgTypeLabel.text=Tipo:
+ImageDetailsPanel.imgTypeValue.text=...
+ImageDetailsPanel.OKButton.text=Aceptar
+ImageDetailsPanel.imgSectorSizeLabel.text=Tama\u00f1o de sector:
+ImageDetailsPanel.imgSectorSizeValue.text=...
+DirectoryTreeTopComponent.backButton.text=
+DirectoryTreeTopComponent.forwardButton.text=
+ImageDetailsPanel.imgTotalSizeValue.text=...
+ImageDetailsPanel.imgTotalSizeLabel.text=Tama\u00f1o total:
+ImageDetailsPanel.imgHashValue.text=...
+ImageDetailsPanel.imgHashLabel.text=Valor hash:
+DataResultFilterNode.action.viewFileInDir.text=Ver archivo en el directorio
+DataResultFilterNode.action.viewSrcFileInDir.text=Ver archivo fuente en el directorio
+DataResultFilterNode.action.viewInNewWin.text=Ver en nueva ventana
+DataResultFilterNode.action.openInExtViewer.text=Abrir en visor externo Ctrl+E
+DataResultFilterNode.action.searchFilesSameMd5.text=Buscar archivos con el mismo hash MD5
+DataResultFilterNode.action.viewInDir.text=Ver en el directorio
+DirectoryTreeFilterNode.action.collapseAll.text=Colapsar todo
+DirectoryTreeFilterNode.action.openFileSrcByAttr.text=Abrir b\u00fasqueda de archivo por atributos
+DirectoryTreeFilterNode.action.runIngestMods.text=Ejecutar m\u00f3dulos de ingest
+DirectoryTreeTopComponent.action.viewArtContent.text=Ver contenido del artefacto
+ExplorerNodeActionVisitor.action.imgDetails.title=Detalles de la imagen
+ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=Extraer espacio no asignado a archivos individuales
+ExplorerNodeActionVisitor.action.fileSystemDetails.title=Detalles del sistema de archivos
+ExplorerNodeActionVisitor.action.volumeDetails.title=Detalles del volumen
+ExplorerNodeActionVisitor.action.extUnallocToSingleFile=Extraer espacio no asignado a un solo archivo
+ExplorerNodeActionVisitor.volDetail.noVolMatchErr=Error: No hay coincidencias de volumen.
+ExplorerNodeActionVisitor.imgDetail.noVolMatchesErr=Error: No hay coincidencias de volumen.
+ExplorerNodeActionVisitor.exception.probGetParent.text=Problema al obtener el padre de {0}: {1}
+ExtractAction.title.extractFiles.text=Extraer archivo(s)
+ExtractUnallocAction.notifyMsg.unallocAlreadyBeingExtr.msg=El espacio no asignado ya est\u00e1 siendo extra\u00eddo en esta imagen. Por favor seleccione otra imagen.
+ExtractUnallocAction.msgDlg.folderDoesntExist.msg=La carpeta no existe. Elija una carpeta v\u00e1lida antes de continuar
+ExtractUnallocAction.dlgTitle.selectDirToSaveTo.msg=Seleccionar directorio para guardar
+ExtractUnallocAction.confDlg.unallocFileAlreadyExist.msg=El archivo no asignado para este volumen, {0}, ya existe. \u00bfDesea reemplazarlo?
+ExtractUnallocAction.progress.extractUnalloc.title=Extrayendo espacio no asignado
+ExtractUnallocAction.progress.displayName.cancelling.text=Extrayendo espacio no asignado (Cancelando...)
+ExtractUnallocAction.processing.counter.msg=procesando {0} de {1} MBs
+ExtractUnallocAction.done.notifyMsg.completedExtract.title=Extracci\u00f3n de espacio no asignado completada.
+ExtractUnallocAction.done.notifyMsg.completedExtract.msg=Los archivos fueron extra\u00eddos a {0}
+ExtractUnallocAction.done.errMsg.title=Error al extraer
+ExtractUnallocAction.done.errMsg.msg=Error al extraer el espacio no asignado: {0}
+ExtractAction.done.notifyMsg.extractErr=Error al extraer archivos: {0}
+OptionsCategory_Name_ExternalViewer=Visor externo
+OptionsCategory_Keywords_ExternalViewer=VisorExterno
+ExternalViewerGlobalSettingsPanel.exePathLabel.MIME.text=Programa asociado con este tipo MIME
+ExternalViewerGlobalSettingsPanel.exePathLabel.EXT.text=Programa asociado con esta extensi\u00f3n
+ExternalViewerGlobalSettingsPanel.exePathLabel.empty.text=No se seleccion\u00f3 tipo MIME ni extensi\u00f3n
+AddExternalViewerRuleDialog.saveButton.title=Guardar
+AddExternalViewerRuleDialog.cancelButton.title=Cancelar
+AddExternalViewerRuleDialog.title=Regla del visor externo
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidMime.message=El tipo MIME no es v\u00e1lido. Agregue sus tipos personalizados en el panel de opciones de tipos de archivo.
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidMime.title=Tipo MIME inv\u00e1lido
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExt.message=La extensi\u00f3n no es v\u00e1lida.
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExt.title=Extensi\u00f3n inv\u00e1lida
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExePath.message=La ruta al ejecutable del programa no es v\u00e1lida
+ExternalViewerGlobalSettingsPanel.JOptionPane.invalidExePath.title=Ruta inv\u00e1lida
+ExternalViewerGlobalSettingsPanel.JOptionPane.ruleAlreadyExists.message=Ya existe una regla con este tipo MIME o extensi\u00f3n. Por favor edite esa.
+ExternalViewerGlobalSettingsPanel.JOptionPane.ruleAlreadyExists.title=Regla no agregada
+AddExternalViewerRulePanel.mimeRadioButton.text=Tipo MIME
+AddExternalViewerRulePanel.nameTextField.text=
+AddExternalViewerRulePanel.nameLabel.text=Tipo MIME o extensi\u00f3n
+AddExternalViewerRulePanel.browseButton.text=Examinar
+AddExternalViewerRulePanel.exePathTextField.text=
+AddExternalViewerRulePanel.exePathLabel.text=Ruta del programa a usar para archivos con este tipo o extensi\u00f3n
+AddExternalViewerRulePanel.extRadioButton.text=Extensi\u00f3n
+GroupDataSourcesDialog.dataSourceCountLabel.text=jLabel1
+GroupDataSourcesDialog.queryLabel.text=\u00bfDesea agrupar por fuente de datos para una carga m\u00e1s r\u00e1pida?
+GroupDataSourcesDialog.yesButton.text=S\u00ed
+GroupDataSourcesDialog.noButton.text=No
+GroupDataSourcesDialog.title=\u00bfAgrupar por fuente de datos?
+DirectoryTreeTopComponent.openViewPreferencesButton.text=
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title3=T\u00edtulo 4
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title2=T\u00edtulo 3
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title3_1=T\u00edtulo 4
+ExternalViewerGlobalSettingsPanel.jTable1.columnModel.title2_1=T\u00edtulo 3
+ExternalViewerGlobalSettingsPanel.newRuleButton1.text=Nueva Regla
+ExternalViewerGlobalSettingsPanel.editRuleButton.text=Editar Regla
+ExternalViewerGlobalSettingsPanel.deleteRuleButton.text=Eliminar Regla
+ExternalViewerGlobalSettingsPanel.externalViewerTitleLabel.text=Agregue sus reglas personalizadas para visores externos:
+ExternalViewerGlobalSettingsPanel.newRuleButton.text=Nueva Regla
+ExternalViewerGlobalSettingsPanel.jButton2.text=jButton2
+ExternalViewerGlobalSettingsPanel.browseHxDDirectory.text=Examinar
+ExternalViewerGlobalSettingsPanel.HxDLabel.text=Ruta del editor HxD:
+ExternalViewerGlobalSettingsPanel.ContentViewerExtensionLabel.text=Agregar extensiones de visor de contenido:
+FileSystemDetailsPanel.bytesLabel1.text=bytes
+FileSystemDetailsPanel.bytesLabel2.text=bytes
+VolumeDetailsPanel.generalVolumeLabel.text=Informaci\u00f3n general del volumen
diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle_es.properties
similarity index 58%
rename from Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle_ar.properties
rename to Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle_es.properties
index 2fc08e90fa5..1270ca8d77f 100644
--- a/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle_ar.properties
+++ b/Core/src/org/sleuthkit/autopsy/directorytree/actionhelpers/Bundle_es.properties
@@ -1,15 +1,22 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
ExtractActionHelper.extractFiles.cantCreateFolderErr.msg=No se pudo crear la carpeta seleccionada.
-ExtractActionHelper.confDlg.destFileExist.msg=¿Ya existe el archivo de destino {0}, desea sobrescribirlo?
+ExtractActionHelper.confDlg.destFileExist.msg=El archivo de destino {0} ya existe, \u00bfDesea sobrescribirlo?
ExtractActionHelper.confDlg.destFileExist.title=El archivo ya existe
# {0} - fileName
-ExtractActionHelper.extractOverwrite.msg=Ya existe un archivo en {0}. ¿Desea sobrescribir el archivo existente?
-ExtractActionHelper.extractOverwrite.title=Exportar a archivo CSV
+ExtractActionHelper.extractOverwrite.msg=Ya existe un archivo en {0}. \u00bfDesea sobrescribir el archivo existente?
+ExtractActionHelper.extractOverwrite.title=Exportar a archivo csv
ExtractActionHelper.msgDlg.cantOverwriteFile.msg=No se pudo sobrescribir el archivo existente {0}
ExtractActionHelper.noOpenCase.errMsg=No hay un caso abierto disponible.
ExtractActionHelper.notifyDlg.noFileToExtr.msg=No hay archivo(s) para extraer.
ExtractActionHelper.progress.cancellingExtraction={0} (Cancelando...)
-ExtractActionHelper.done.notifyMsg.fileExtr.text=Archivo(s) extraidos.
+ExtractActionHelper.done.notifyMsg.fileExtr.text=Archivo(s) extra\u00eddo(s).
# {0} - outputFolderName
-ExtractActionHelper.progress.extracting=Extrayendo en {0}
+ExtractActionHelper.progress.extracting=Extrayendo a {0}
# {0} - fileName
ExtractActionHelper.progress.fileExtracting=Extrayendo archivo: {0}
diff --git a/Core/src/org/sleuthkit/autopsy/discovery/search/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/discovery/search/Bundle_ar.properties
deleted file mode 100644
index 3ce107e4732..00000000000
--- a/Core/src/org/sleuthkit/autopsy/discovery/search/Bundle_ar.properties
+++ /dev/null
@@ -1,148 +0,0 @@
-# {0} - month abbreviation
-# {1} - day of month
-# {2} - year
-DiscoveryAttributes.ActivityDateGroupKey.getDisplayNameTemplate=Semana de {0} {1}, {2}
-DiscoveryAttributes.GroupingAttributeType.datasource.displayName=Fuente de Datos
-DiscoveryAttributes.GroupingAttributeType.fileType.displayName=Tipo de Archivo
-DiscoveryAttributes.GroupingAttributeType.firstDate.displayName=Fecha de la Primera Actividad
-DiscoveryAttributes.GroupingAttributeType.frequency.displayName=Ocurrencias Pasadas
-DiscoveryAttributes.GroupingAttributeType.hash.displayName=Conjunto de Hash
-DiscoveryAttributes.GroupingAttributeType.interestingItem.displayName=Elemento Interesante
-DiscoveryAttributes.GroupingAttributeType.keywordList.displayName=Palabra Clave
-DiscoveryAttributes.GroupingAttributeType.lastDate.displayName=Fecha de Actividad Final
-DiscoveryAttributes.GroupingAttributeType.none.displayName=Ninguno
-DiscoveryAttributes.GroupingAttributeType.object.displayName=Objeto Detectado
-DiscoveryAttributes.GroupingAttributeType.pageViews.displayName=Vistas de Pagina
-DiscoveryAttributes.GroupingAttributeType.parent.displayName=Carpeta Principal
-DiscoveryAttributes.GroupingAttributeType.previouslyNotable.displayName=Notabilidad Previa
-DiscoveryAttributes.GroupingAttributeType.size.displayName=Tamanio del Archivo
-DiscoveryAttributes.GroupingAttributeType.tag.displayName=Etiqueta
-DiscoveryAttributes.GroupingAttributeType.webCategory.displayName=Categoria de Dominio
-# {0} - Data source name
-# {1} - Data source ID
-DiscoveryKeyUtils.DataSourceGroupKey.datasourceAndID={0}(ID: {1})
-# {0} - Data source ID
-DiscoveryKeyUtils.DataSourceGroupKey.idOnly=Fuente de datos (ID: {0})
-DiscoveryKeyUtils.FileTagGroupKey.noSets=Ninguno
-DiscoveryKeyUtils.HashHitsGroupKey.noHashHits=Ninguno
-DiscoveryKeyUtils.InterestingItemGroupKey.noSets=Ninguno
-DiscoveryKeyUtils.KeywordListGroupKey.noKeywords=Ninguno
-DiscoveryKeyUtils.NoGroupingGroupKey.allFiles=Todos los Archivos
-DiscoveryKeyUtils.ObjectDetectedGroupKey.noSets=Ninguno
-# {0} - domain
-# {1} - artifactType
-DomainSearchArtifactsRequest.toString.text=Dominio: {0} Tipo de Artefacto: {1}
-FileGroup.groupSortingAlgorithm.groupName.text=Nombre del Grupo
-FileGroup.groupSortingAlgorithm.groupSize.text=Tamanio del Grupo
-FileSearch.documentSummary.noBytes=No se leyeron bytes para el documento, no se puede mostrar una vista previa.
-FileSearch.documentSummary.noPreview=Vista previa no disponible.
-FileSearchFiltering.concatenateSetNamesForDisplay.comma=,
-# {0} - filters
-FileSearchFiltering.HashSetFilter.desc=Coincidencias en el conjunto de hash en conjunto(s): {0}
-FileSearchFiltering.KnownFilter.desc=que no se conocen
-FileSearchFiltering.PreviouslyNotableFilter.desc=que fueron marcadas previamente como destacadas
-# {0} - tag names
-FileSearchFiltering.TagsFilter.desc=Etiquetado {0}
-FileSearchFiltering.TagsFilter.or=,
-FileSearchFiltering.UserCreatedFilter.desc=que contienen datos EXIF
-FileSorter.SortingMethod.activity.displayName=Fecha de la ultima Actividad
-FileSorter.SortingMethod.datasource.displayName=Fuente de Datos
-FileSorter.SortingMethod.domain.displayName=Nombre de Dominio
-FileSorter.SortingMethod.downloads.displayName=Descargas de Archivos
-FileSorter.SortingMethod.filename.displayName=Nombre de Archivo
-FileSorter.SortingMethod.filesize.displayName=Tamanio de Archivo
-FileSorter.SortingMethod.filetype.displayName=Tipo de Archivo
-FileSorter.SortingMethod.frequency.displayName=Frecuencia del Repositorio Central
-FileSorter.SortingMethod.fullPath.displayName=Ruta Completa
-FileSorter.SortingMethod.keywordlist.displayName=Nombres de Lista de Palabras Clave
-FileSorter.SortingMethod.pageViews.displayName=Vistas de Pagina
-ResultDomain_getDefaultCategory=Sin Categorizar
-ResultDomain_noAccountTypes=Desconocido
-# {0} - significanceDisplayName
-ResultFile_updateScoreAndDescription_description=Tiene un resultado de analisis de {0}
-SearchData.AttributeType.Domain.displayName=Dominio
-SearchData.FileSize.100kbto1mb=: 100KB-1MB
-SearchData.FileSize.100mbto1gb=: 100MB-1GB
-SearchData.FileSize.10PlusGb=: 10GB+
-SearchData.FileSize.16kbto100kb=: 16-100KB
-SearchData.FileSize.1gbto5gb=: 1-5GB
-SearchData.FileSize.1mbto50mb=: 1-50MB
-SearchData.FileSize.200PlusMb=: 200MB+
-SearchData.FileSize.500kbto100mb=: 500KB-100MB
-SearchData.FileSize.50mbto200mb=: 50-200MB
-SearchData.FileSize.5gbto10gb=: 5-10GB
-SearchData.FileSize.LARGE.displayName=Grande
-SearchData.FileSize.MEDIUM.displayName=Mediano
-SearchData.FileSize.SMALL.displayName=Pequenio
-SearchData.FileSize.upTo16kb=: 0-16KB
-SearchData.FileSize.upTo500kb=: 0-500KB
-SearchData.FileSize.XLARGE.displayName=Muy Grande
-SearchData.FileSize.XSMALL.displayName=Muy Pequenio
-SearchData.FileSize.XXLARGE.displayName=Muy Muy Grande
-SearchData.FileType.Audio.displayName=Audio
-SearchData.FileType.Documents.displayName=Documento
-SearchData.FileType.Executables.displayName=Ejecutable
-SearchData.FileType.Image.displayName=Imagen
-SearchData.FileType.Other.displayName=Otro/Desconocido
-SearchData.FileType.Video.displayName=Video
-SearchData.Frequency.common.displayName=Comun (11 - 100)
-SearchData.Frequency.known.displayName=Conocido (NSRL)
-SearchData.Frequency.rare.displayName=Raro (2-10)
-SearchData.Frequency.unique.displayName=unico (1)
-SearchData.Frequency.unknown.displayName=Desconocido
-SearchData.Frequency.verycommon.displayName=Muy Comun (100+)
-SearchData.notPrevNotable.displayName=Anteriormente No Notable
-SearchData.PageViews.over1000=1000+ vistas de pagina
-# {0} - minValue
-# {1} - maxValue
-SearchData.PageViews.rangeTemplate={0}-{1} vistas de pagina
-SearchData.prevNotable.displayName=Anteriormente Notable
-SearchData.Score.interesting.displayName=Interesante
-SearchData.Score.notable.displayName=Notable
-SearchData.Score.unknown.displayName=Desconocido
-# {0} - artifactTypes
-SearchFiltering.artifactTypeFilter.desc=Tipo(s) de Resultado: {0}
-SearchFiltering.artifactTypeFilter.or=,
-# {0} - Data source name
-# {1} - Data source ID
-SearchFiltering.DataSourceFilter.datasource={0}({1})
-# {0} - filters
-SearchFiltering.DataSourceFilter.desc=Fuente(s) de Datos: {0}
-SearchFiltering.DataSourceFilter.or=,
-# {0} - startDate
-SearchFiltering.dateRangeFilter.after=despues de: {0}
-SearchFiltering.dateRangeFilter.and=\ y
-# {0} - endDate
-SearchFiltering.dateRangeFilter.before=antes de: {0}
-SearchFiltering.dateRangeFilter.lable=Fecha de Actividad
-# {0} - filters
-SearchFiltering.FileTypeFilter.desc=Tipo: {0}
-SearchFiltering.FileTypeFilter.or=,
-# {0} - filters
-SearchFiltering.FrequencyFilter.desc=Ocurrencias pasadas: {0}
-SearchFiltering.FrequencyFilter.or=,
-# {0} - filters
-SearchFiltering.InterestingItemSetFilter.desc=Elementos interesantes encontrados en conjunto(s): {0}
-# {0} - filters
-SearchFiltering.KeywordListFilter.desc=Palabras clave en lista(s): {0}
-SearchFiltering.KnownAccountTypeFilter.desc=Solo dominios con tipo de cuenta conocido
-# {0} - filters
-SearchFiltering.ObjectDetectionFilter.desc=Objetos detectados en conjunto(s): {0}
-# {0} - filters
-SearchFiltering.ParentFilter.desc=Rutas coincidentes: {0}
-SearchFiltering.ParentFilter.exact=(coincidencia exacta)
-SearchFiltering.ParentFilter.excluded=(excluido)
-SearchFiltering.ParentFilter.included=(incluido)
-SearchFiltering.ParentFilter.or=,
-SearchFiltering.ParentFilter.substring=(subcadena)
-SearchFiltering.ParentSearchTerm.excludeString=\ (excluir)
-SearchFiltering.ParentSearchTerm.fullString=\ (exacto)
-SearchFiltering.ParentSearchTerm.includeString=\ (incluir)
-SearchFiltering.ParentSearchTerm.subString=\ (subcadena)
-SearchFiltering.PreviouslyNotableFilter.desc=Previamente marcado como notable en el repositorio central
-# {0} - filters
-SearchFiltering.ScoreFilter.desc=Puntuacion(es) de : {0}
-# {0} - filters
-SearchFiltering.SizeFilter.desc=Tamanio(s): {0}
-SearchFiltering.SizeFilter.or=,
-SummaryHelper.documentSummary.unable.to.read=Error al intentar extraer el texto del archivo.
diff --git a/Core/src/org/sleuthkit/autopsy/discovery/ui/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/discovery/ui/Bundle_ar.properties
deleted file mode 100644
index e9463f8627b..00000000000
--- a/Core/src/org/sleuthkit/autopsy/discovery/ui/Bundle_ar.properties
+++ /dev/null
@@ -1,191 +0,0 @@
-ArtifactMenuMouseAdapter.noFile.text=El archivo no existe.
-ArtifactMenuMouseAdapter_ExternalViewer_label=Abrir en visor externo
-ArtifactMenuMouseAdapter_label=Extraer archivos
-ArtifactsListPanel.dateColumn.name=Fecha/Hora
-ArtifactsListPanel.fileNameColumn.name=Nombre
-ArtifactsListPanel.mimeTypeColumn.name=Tipo MIME
-ArtifactsListPanel.noResultsFound.text=No se encontraron resultados
-ArtifactsListPanel.termColumn.name=Termino
-ArtifactsListPanel.titleColumn.name=Titulo
-ArtifactsListPanel.urlColumn.name=URL
-ArtifactsListPanel.value.noValue=Ningun valor disponible.
-ArtifactTypeFilterPanel.selectionNeeded.text=Al menos se debe seleccionar un tipo de resultado.
-CTL_OpenDiscoveryAction=Busqueda
-DataSourceFilterPanel.error.text=Al menos se debe seleccionar una fuente de datos.
-# {0} - dataSourceName
-DataSourceModuleWrapper.exifModule.text=El modulo Analizador de Imagenes no se ejecuto en la fuente de datos: {0}\n
-# {0} - dataSourceName
-DataSourceModuleWrapper.fileTypeModule.text=El modulo Identificacion de Tipo de Archivo no se ejecuto en la fuente de datos: {0}\n
-# {0} - dataSourceName
-DataSourceModuleWrapper.hashModule.text=El modulo de Busqueda de Hash no se ejecuto en la fuente de datos: {0}\n
-# {0} - timeZone
-DateFilterPanel.dateRange.text=Rango de Fechas ({0}):
-DateFilterPanel.invalidRange.text=Debe seleccionarse Rango o Solo ultimas.
-DateFilterPanel.startAfterEnd.text=La fecha de inicio debe ser anterior a la fecha de finalizacion cuando ambas estan habilitadas.
-DateFilterPanel.startOrEndNeeded.text=Se debe especificar una fecha de inicio o de finalizacion para usar el filtro de rango.
-DiscoveryDialog.name.text=Busqueda
-DiscoveryExtractAction.title.extractFiles.text=Extraer Archivo
-DiscoveryTopComponent.additionalFilters.text=;
-DiscoveryTopComponent.cancelButton.text=Cancelar Busqueda
-DiscoveryTopComponent.domainSearch.text=Tipo: Dominio
-DiscoveryTopComponent.name=\ Busqueda
-DiscoveryTopComponent.newSearch.text=Nueva Busqueda
-DiscoveryTopComponent.searchCancelled.text=Se ha cancelado la busqueda.
-# {0} - search
-DiscoveryTopComponent.searchComplete.text=Resultados con {0}
-DiscoveryTopComponent.searchError.text=Error, no se especifico un tipo para la busqueda.
-# {0} - searchType
-DiscoveryTopComponent.searchInProgress.text=Realizando busqueda de resultados de tipo {0}. Por favor, espere.
-DiscoveryUiUtility.bytes.text=bytes
-DiscoveryUiUtility.gigaBytes.text=GB
-DiscoveryUiUtility.kiloBytes.text=KB
-DiscoveryUiUtility.megaBytes.text=MB
-# {0} - fileSize
-# {1} - units
-DiscoveryUiUtility.sizeLabel.text=Tamanio: {0} {1}
-DiscoveryUiUtility.terraBytes.text=TB
-# {0} - file name
-DiscoveryUiUtils.genVideoThumb.progress.text=extrayendo archivo temporal {0}
-DiscoveryUiUtils.isDeleted.text=Todas las instancias del archivo se han eliminado.
-DiscoveryUiUtils.resultsIncomplete.text=Los resultados de busqueda pueden estar incompletos.
-# {0} - otherInstanceCount
-DocumentPanel.nameLabel.more.text=\ y {0} mas
-DocumentPanel.noImageExtraction.text=0 de ? imagenes
-DocumentPanel.numberOfImages.noImages=Sin imagenes
-# {0} - numberOfImages
-DocumentPanel.numberOfImages.text=1 de {0} imagenes
-DocumentWrapper.previewInitialValue=Vista previa aun no generada.
-DomainDetailsPanel.miniTimelineTitle.text=Linea de tiempo
-DomainDetailsPanel.otherOccurrencesTab.title=Otras Ocurrencias
-# {0} - startDate
-# {1} - endDate
-DomainSummaryPanel.activity.text=Actividad: {0} a {1}
-DomainSummaryPanel.category.text=Categorias:
-DomainSummaryPanel.downloads.text=Archivos descargados:
-DomainSummaryPanel.loadingImages.text=Cargando miniatura...
-DomainSummaryPanel.no.text=No
-DomainSummaryPanel.notability.text=Previo etiquetado como notable:
-DomainSummaryPanel.pages.text=Vistas de pagina en los ultimos 60 dias:
-DomainSummaryPanel.totalPages.text=Total de vistas de pagina:
-DomainSummaryPanel.userRole.text=Tipo de cuenta:
-DomainSummaryPanel.yes.text=Si
-GroupsListPanel.noDomainResults.message.text=No se encontraron dominios para los filtros seleccionados.\n\nRecordatorio:\n - El modulo de Actividad Reciente debe ejecutarse en cada fuente de datos en la que desees encontrar resultados.\n - El modulo de Repositorio Central debe ejecutarse en cada fuente de datos si deseas filtrar o ordenar por ocurrencias pasadas.\n - El modulo Analizador de iOS (iLEAPP) debe ejecutarse en cada fuente de datos que contenga datos de un dispositivo iOS.\n
-GroupsListPanel.noFileResults.message.text=No se encontraron archivos para los filtros seleccionados.
-\n\nRecordatorio:\n - El modulo de Identificacion de Tipo de Archivo debe ejecutarse en cada fuente de datos en la que desees encontrar resultados.\n - El modulo de Busqueda de Hash debe ejecutarse en cada fuente de datos si deseas filtrar por ocurrencias pasadas.\n - El modulo Analizador de Imagenes debe ejecutarse en cada fuente de datos si estas filtrando por contenido creado por el usuario.
-GroupsListPanel.noResults.title.text=No se encontraron resultados
-HashSetFilterPanel.error.text=Se debe seleccionar al menos un nombre de conjunto de hash.
-ImageThumbnailPanel.isDeleted.text=Todas las instancias del archivo se han eliminado..
-# {0} - otherInstanceCount
-ImageThumbnailPanel.nameLabel.more.text=\ y {0} mas
-InterestingItemsFilterPanel.error.text=Al menos se debe seleccionar un nombre de conjunto de archivos interesantes.
-LoadingPanel.loading.text=Cargando, por favor espera.
-# {0} - resultInfo
-LoadingPanel.retrieving.text=Recuperando resultados para {0}.
-MiniTimelineArtifactListPanel.descriptionColumn.name=\ Descripcion
-MiniTimelineArtifactListPanel.typeColumn.name=Tipo de Resultado
-MiniTimelineArtifactListPanel.value.noValue=Ningun valor disponible.
-MiniTimelineDateListPanel.countColumn.name=Recuento
-MiniTimelineDateListPanel.dateColumn.name=Fecha
-MiniTimelineDateListPanel.value.noValue=Ningun valor disponible.
-MiniTimelinePanel.loadingPanel.details=la vista de Linea de Tiempo
-MonthAbbreviation.aprilAbbrev=Abr
-MonthAbbreviation.augustAbbrev=Ago
-MonthAbbreviation.decemberAbbrev=Dic
-MonthAbbreviation.feburaryAbbrev=Feb
-MonthAbbreviation.januraryAbbrev=Ene
-MonthAbbreviation.julyAbbrev=Jul
-MonthAbbreviation.juneAbbrev=Jun
-MonthAbbreviation.marchAbbrev=Mar
-MonthAbbreviation.mayAbbrev=May
-MonthAbbreviation.novemberAbbrev=Nov
-MonthAbbreviation.octoberAbbrev=Oct
-MonthAbbreviation.septemberAbbrev=Sep
-ObjectDetectedFilterPanel.error.text=Al menos se debe seleccionar un nombre de tipo de objeto.
-ParentFolderFilterPanel.error.text=Al menos se debe ingresar una ruta principal.
-PastOccurrencesFilterPanel.error.text=Al menos se debe seleccionar un valor en el filtro de ocurrencias pasadas.
-# {0} - currentPage
-# {1} - totalPages
-ResultsPanel.currentPage.displayValue=Pagina: {0} de {1}
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-ResultsPanel.currentPageLabel.text=Pagina: -
-DiscoveryDialog.sortingPanel.border.title=Paso 3: Elegir configuracion de visualizacion
-DiscoveryDialog.searchButton.text=Buscar
-DiscoveryDialog.domainsButton.text=Dominios
-DiscoveryDialog.groupByLabel.text=Agrupar por:
-DiscoveryDialog.step1Label.text=Paso 1: Elegir tipo de resultado
-DiscoveryDialog.orderByLabel.text=Ordenar dentro de los grupos por:
-DiscoveryDialog.documentsButton.text=Documentos
-DiscoveryDialog.orderGroupsByLabel.text=Ordenar grupos por:
-DiscoveryDialog.videosButton.text=Videos
-DiscoveryDialog.imagesButton.text=Imagenes
-ResultsPanel.documentPreview.text=Creacion de vista previa de documentos cancelada..
-# {0} - selectedPage
-# {1} - maxPage
-ResultsPanel.invalidPageNumber.message=La pagina numero seleccionada {0} no existe. Por favor, selecciona un valor entre 1 y {1}..
-ResultsPanel.invalidPageNumber.title=Numero de pagina invalido
-ResultsPanel.openInExternalViewer.name=Abrir en visor externo
-ResultsPanel.unableToCreate.text=No se puede crear el resumen.
-ResultsPanel.viewFileInDir.name=Ver archivo en el directorio
-SizeFilterPanel.error.text=Al menos se debe seleccionar un tamanio.
-VideoFilterPanel.videoFiltersSplitPane.border.title=Paso 2: Filtrar que videos mostrar
-DataSourceFilterPanel.dataSourceCheckbox.text=Fuente de datos:
-ParentFolderFilterPanel.parentLabel.text_1=(Se usaran todos)
-ParentFolderFilterPanel.parentCheckbox.text_1=Carpeta principal:
-ParentFolderFilterPanel.addButton.text_1=Agregar
-ParentFolderFilterPanel.deleteButton.text_1=Eliminar
-ParentFolderFilterPanel.excludeRadioButton.text_1=Excluir
-ParentFolderFilterPanel.substringRadioButton.text_1=Subcadena
-ParentFolderFilterPanel.includeRadioButton.text_1=Incluir
-ParentFolderFilterPanel.fullRadioButton.text_1=Completo
-UserCreatedFilterPanel.userCreatedCheckbox.text_1=Posiblemente creado por el usuario
-GroupListPanel.groupKeyList.border.title=Grupos
-ResultsSplitPaneDivider.detailsLabel.text=area de detalles
-ResultsSplitPaneDivider.showButton.text=
-ResultsSplitPaneDivider.hideButton.text=
-ImageFilterPanel.imageFiltersSplitPane.toolTipText=
-ImageFilterPanel.imageFiltersSplitPane.border.title=Paso 2: Filtrar que imagenes mostrar
-ArtifactTypeFilterPanel.artifactTypeCheckbox.text=Tipo de Resultado:
-InterestingItemsFilterPanel.interestingItemsCheckbox.text=Elemento Interesante:
-DocumentPanel.fileSizeLabel.toolTipText=
-DocumentPanel.isDeletedLabel.toolTipText=
-DomainFilterPanel.domainFiltersSplitPane.toolTipText=
-DomainFilterPanel.domainFiltersSplitPane.border.title=Paso 2: Filtrar que dominios mostrar
-SizeFilterPanel.sizeCheckbox.text=Tamanio de Archivo:
-DateFilterPanel.endCheckBox.text=Final:
-DateFilterPanel.startCheckBox.text=Inicio:
-DateFilterPanel.daysLabel.text=dias de actividad
-ImageThumbnailPanel.isDeletedLabel.toolTipText=
-ResultsPanel.pageControlsLabel.text=Paginas:
-ResultsPanel.currentPageLabel.text=Pagina: -
-ResultsPanel.pageSizeLabel.text=Tamanio de Pagina:
-ResultsPanel.gotoPageLabel.text=Ir a Pagina:
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-HashSetFilterPanel.hashSetCheckbox.text=Conjunto de Hash:
-PastOccurrencesFilterPanel.pastOccurrencesCheckbox.text=Ocurrencias Pasadas:
-DocumentFilterPanel.documentsFiltersSplitPane.border.title=Paso 2: Filtrar que documentos mostrar
-ObjectDetectedFilterPanel.text=Objeto Detectado:
-DateFilterPanel.mostRecentRadioButton.text=Solo final:
-DateFilterPanel.dateFilterCheckBox.text=Filtro de Fecha:
-DomainSummaryPanel.pagesLabel.text=
-DomainSummaryPanel.filesDownloadedLabel.text=
-FileDetailsPanel.instancesList.border.title=Instancias
-CookieDetailsPanel.jLabel1.text=Artefacto:
-CookieDetailsPanel.jLabel2.text=
-PreviouslyNotableFilterPanel.text_1=Incluir solo dominios previamente notables
-KnownAccountTypeFilterPanel.text_1=Incluir solo dominios con un tipo de cuenta conocido
-LoadingPanel.detailsLabel.AccessibleContext.accessibleName=detailsLabel
-VideoThumbnailPanel.bytes.text=bytes
-VideoThumbnailPanel.deleted.text=Todas las instancias del archivo se han eliminado.
-VideoThumbnailPanel.gigaBytes.text=GB
-VideoThumbnailPanel.kiloBytes.text=KB
-VideoThumbnailPanel.megaBytes.text=MB
-# {0} - otherInstanceCount
-VideoThumbnailPanel.nameLabel.more.text=\ y {0} mas
-# {0} - fileSize
-# {1} - units
-VideoThumbnailPanel.sizeLabel.text=Tamanio: {0} {1}
-VideoThumbnailPanel.terraBytes.text=TB
diff --git a/Core/src/org/sleuthkit/autopsy/discovery/ui/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/discovery/ui/Bundle_es.properties
new file mode 100644
index 00000000000..4ac2fab8bd2
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/discovery/ui/Bundle_es.properties
@@ -0,0 +1,182 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ArtifactMenuMouseAdapter.noFile.text=El archivo no existe.
+ArtifactMenuMouseAdapter_ExternalViewer_label=Abrir en visor externo
+ArtifactMenuMouseAdapter_label=Extraer archivos
+ArtifactsListPanel.dateColumn.name=Fecha/Hora
+ArtifactsListPanel.fileNameColumn.name=Nombre
+ArtifactsListPanel.mimeTypeColumn.name=Tipo MIME
+ArtifactsListPanel.noResultsFound.text=No se encontraron resultados
+ArtifactsListPanel.termColumn.name=T\u00e9rmino
+ArtifactsListPanel.titleColumn.name=T\u00edtulo
+ArtifactsListPanel.urlColumn.name=URL
+ArtifactsListPanel.value.noValue=No hay valor disponible.
+ArtifactTypeFilterPanel.selectionNeeded.text=Se debe seleccionar al menos un tipo de resultado.
+CTL_OpenDiscoveryAction=Descubrimiento
+DataSourceFilterPanel.error.text=Se debe seleccionar al menos una fuente de datos.
+# {0} - dataSourceName
+DataSourceModuleWrapper.exifModule.text=El m\u00f3dulo de an\u00e1lisis de im\u00e1genes no se ejecut\u00f3 en la fuente de datos: {0}\n
+# {0} - dataSourceName
+DataSourceModuleWrapper.fileTypeModule.text=El m\u00f3dulo de identificaci\u00f3n de tipo de archivo no se ejecut\u00f3 en la fuente de datos: {0}\n
+# {0} - dataSourceName
+DataSourceModuleWrapper.hashModule.text=El m\u00f3dulo de b\u00fasqueda de hash no se ejecut\u00f3 en la fuente de datos: {0}\n
+# {0} - timeZone
+DateFilterPanel.dateRange.text=Rango de fechas ({0}):
+DateFilterPanel.invalidRange.text=Se debe seleccionar Rango o Solo \u00daltimos.
+DateFilterPanel.startAfterEnd.text=La fecha de inicio debe ser anterior a la fecha final cuando ambas est\u00e1n habilitadas.
+DateFilterPanel.startOrEndNeeded.text=Se debe especificar una fecha de inicio o fin para usar el filtro de rango.
+DiscoveryDialog.name.text=Descubrimiento
+DiscoveryExtractAction.title.extractFiles.text=Extraer archivo
+DiscoveryTopComponent.additionalFilters.text=;
+DiscoveryTopComponent.cancelButton.text=Cancelar b\u00fasqueda
+DiscoveryTopComponent.domainSearch.text=Tipo: Dominio
+DiscoveryTopComponent.name=\ Descubrimiento
+DiscoveryTopComponent.newSearch.text=Nueva b\u00fasqueda
+DiscoveryTopComponent.searchCancelled.text=La b\u00fasqueda ha sido cancelada.
+# {0} - search
+DiscoveryTopComponent.searchComplete.text=Resultados con {0}
+DiscoveryTopComponent.searchError.text=Error, no se especific\u00f3 el tipo de b\u00fasqueda.
+# {0} - searchType
+DiscoveryTopComponent.searchInProgress.text=Realizando b\u00fasqueda de resultados del tipo {0}. Por favor, espere.
+DiscoveryUiUtility.bytes.text=bytes
+DiscoveryUiUtility.gigaBytes.text=GB
+DiscoveryUiUtility.kiloBytes.text=KB
+DiscoveryUiUtility.megaBytes.text=MB
+# {0} - fileSize
+# {1} - units
+DiscoveryUiUtility.sizeLabel.text=Tamano: {0} {1}
+DiscoveryUiUtility.terraBytes.text=TB
+# {0} - file name
+DiscoveryUiUtils.genVideoThumb.progress.text=extrayendo archivo temporal {0}
+DiscoveryUiUtils.isDeleted.text=Todas las instancias del archivo est\u00e1n eliminadas.
+DiscoveryUiUtils.resultsIncomplete.text=Los resultados de descubrimiento pueden estar incompletos
+# {0} - otherInstanceCount
+DocumentPanel.nameLabel.more.text=\ y {0} m\u00e1s
+DocumentPanel.noImageExtraction.text=0 de ? im\u00e1genes
+DocumentPanel.numberOfImages.noImages=Sin im\u00e1genes
+# {0} - numberOfImages
+DocumentPanel.numberOfImages.text=1 de {0} im\u00e1genes
+DocumentWrapper.previewInitialValue=Vista previa a\u00fan no generada.
+DomainDetailsPanel.miniTimelineTitle.text=L\u00ednea de tiempo
+DomainDetailsPanel.otherOccurrencesTab.title=Otras ocurrencias
+# {0} - startDate
+# {1} - endDate
+DomainSummaryPanel.activity.text=Actividad: {0} a {1}
+DomainSummaryPanel.category.text=Categor\u00edas:
+DomainSummaryPanel.downloads.text=Archivos descargados:
+DomainSummaryPanel.loadingImages.text=Cargando miniatura...
+DomainSummaryPanel.no.text=No
+DomainSummaryPanel.notability.text=Marcado previamente como notable:
+DomainSummaryPanel.pages.text=Vistas de p\u00e1gina en los \u00faltimos 60 d\u00edas:
+DomainSummaryPanel.totalPages.text=Total de vistas de p\u00e1gina:
+DomainSummaryPanel.userRole.text=Tipo de cuenta:
+DomainSummaryPanel.yes.text=S\u00ed
+GroupsListPanel.noDomainResults.message.text=No se encontraron dominios para los filtros seleccionados.\n\nRecordatorio:\n -El m\u00f3dulo de Actividad Reciente debe ejecutarse en cada fuente de datos en la que desea encontrar resultados.\n -El m\u00f3dulo de Repositorio Central debe ejecutarse en cada fuente de datos si desea filtrar o clasificar por ocurrencias pasadas.\n -El m\u00f3dulo iOS Analyzer (iLEAPP) debe ejecutarse en cada fuente de datos que contenga datos de un dispositivo iOS.\n
+GroupsListPanel.noFileResults.message.text=No se encontraron archivos para los filtros seleccionados.\n\nRecordatorio:\n -El m\u00f3dulo de Identificaci\u00f3n de Tipo de Archivo debe ejecutarse en cada fuente de datos en la que desea encontrar resultados.\n -El m\u00f3dulo de B\u00fasqueda de Hash debe ejecutarse en cada fuente de datos si desea filtrar por ocurrencias pasadas.\n -El m\u00f3dulo de An\u00e1lisis de Im\u00e1genes debe ejecutarse en cada fuente de datos si est\u00e1 filtrando por contenido creado por el usuario.
+GroupsListPanel.noResults.title.text=No se encontraron resultados
+HashSetFilterPanel.error.text=Debe seleccionarse al menos un nombre de conjunto de hash.
+ImageThumbnailPanel.isDeleted.text=Todas las instancias del archivo est\u00e1n eliminadas.
+ImageThumbnailPanel.nameLabel.more.text=\ y {0} m\u00e1s
+InterestingItemsFilterPanel.error.text=Debe seleccionarse al menos un nombre de conjunto de archivos interesantes.
+LoadingPanel.loading.text=Cargando, por favor espere.
+LoadingPanel.retrieving.text=Recuperando resultados para {0}.
+MiniTimelineArtifactListPanel.descriptionColumn.name=\ Descripci\u00f3n
+MiniTimelineArtifactListPanel.typeColumn.name=Tipo de Resultado
+MiniTimelineArtifactListPanel.value.noValue=No hay valor disponible.
+MiniTimelineDateListPanel.countColumn.name=Conteo
+MiniTimelineDateListPanel.dateColumn.name=Fecha
+MiniTimelineDateListPanel.value.noValue=No hay valor disponible.
+MiniTimelinePanel.loadingPanel.details=la vista de la L\u00ednea de Tiempo
+MonthAbbreviation.aprilAbbrev=Abr
+MonthAbbreviation.augustAbbrev=Ago
+MonthAbbreviation.decemberAbbrev=Dic
+MonthAbbreviation.feburaryAbbrev=Feb
+MonthAbbreviation.januraryAbbrev=Ene
+MonthAbbreviation.julyAbbrev=Jul
+MonthAbbreviation.juneAbbrev=Jun
+MonthAbbreviation.marchAbbrev=Mar
+MonthAbbreviation.mayAbbrev=May
+MonthAbbreviation.novemberAbbrev=Nov
+MonthAbbreviation.octoberAbbrev=Oct
+MonthAbbreviation.septemberAbbrev=Sep
+ObjectDetectedFilterPanel.error.text=Debe seleccionarse al menos un nombre de tipo de objeto.
+ParentFolderFilterPanel.error.text=Debe ingresarse al menos una ruta principal.
+PastOccurrencesFilterPanel.error.text=Debe seleccionarse al menos un valor en el filtro de ocurrencias pasadas.
+ResultsPanel.currentPage.displayValue=Pagina: {0} de {1}
+ResultsPanel.currentPageLabel.text=Pagina: -
+DiscoveryDialog.sortingPanel.border.title=Paso 3: Elegir configuraci\u00f3n de visualizaci\u00f3n
+DiscoveryDialog.searchButton.text=Buscar
+DiscoveryDialog.domainsButton.text=Dominios
+DiscoveryDialog.groupByLabel.text=Agrupar por:
+DiscoveryDialog.step1Label.text=Paso 1: Elegir tipo de resultado
+DiscoveryDialog.orderByLabel.text=Orden dentro de los grupos por:
+DiscoveryDialog.documentsButton.text=Documentos
+DiscoveryDialog.orderGroupsByLabel.text=Ordenar grupos por:
+DiscoveryDialog.videosButton.text=Videos
+DiscoveryDialog.imagesButton.text=Im\u00e1genes
+ResultsPanel.documentPreview.text=Creaci\u00f3n de vista previa de documento cancelada.
+ResultsPanel.invalidPageNumber.message=El n\u00famero de p\u00e1gina seleccionado {0} no existe. Por favor seleccione un valor de 1 a {1}.
+ResultsPanel.invalidPageNumber.title=N\u00famero de p\u00e1gina inv\u00e1lido
+ResultsPanel.openInExternalViewer.name=Abrir en visor externo
+ResultsPanel.unableToCreate.text=No se pudo crear el resumen.
+ResultsPanel.viewFileInDir.name=Ver archivo en el directorio
+SizeFilterPanel.error.text=Debe seleccionarse al menos un tama\u00f1o.
+VideoFilterPanel.videoFiltersSplitPane.border.title=Paso 2: Filtrar qu\u00e9 videos mostrar
+DataSourceFilterPanel.dataSourceCheckbox.text=Fuente de datos:
+ParentFolderFilterPanel.parentLabel.text_1=(Se usar\u00e1n todos)
+ParentFolderFilterPanel.parentCheckbox.text_1=Carpeta principal:
+ParentFolderFilterPanel.addButton.text_1=Agregar
+ParentFolderFilterPanel.deleteButton.text_1=Eliminar
+ParentFolderFilterPanel.excludeRadioButton.text_1=Excluir
+ParentFolderFilterPanel.substringRadioButton.text_1=Subcadena
+ParentFolderFilterPanel.includeRadioButton.text_1=Incluir
+ParentFolderFilterPanel.fullRadioButton.text_1=Completo
+UserCreatedFilterPanel.userCreatedCheckbox.text_1=Posiblemente creado por el usuario
+GroupListPanel.groupKeyList.border.title=Grupos
+ResultsSplitPaneDivider.detailsLabel.text=\u00c1rea de detalles
+ResultsSplitPaneDivider.showButton.text=
+ResultsSplitPaneDivider.hideButton.text=
+ImageFilterPanel.imageFiltersSplitPane.toolTipText=
+ImageFilterPanel.imageFiltersSplitPane.border.title=Paso 2: Filtrar qu\u00e9 im\u00e1genes mostrar
+ArtifactTypeFilterPanel.artifactTypeCheckbox.text=Tipo de resultado:
+InterestingItemsFilterPanel.interestingItemsCheckbox.text=Elemento interesante:
+DocumentPanel.fileSizeLabel.toolTipText=
+DocumentPanel.isDeletedLabel.toolTipText=
+DomainFilterPanel.domainFiltersSplitPane.toolTipText=
+DomainFilterPanel.domainFiltersSplitPane.border.title=Paso 2: Filtrar qu\u00e9 dominios mostrar
+SizeFilterPanel.sizeCheckbox.text=Tama\u00f1o del archivo:
+DateFilterPanel.endCheckBox.text=Fin:
+DateFilterPanel.startCheckBox.text=Inicio:
+DateFilterPanel.daysLabel.text=d\u00edas de actividad
+ImageThumbnailPanel.isDeletedLabel.toolTipText=
+ResultsPanel.pageControlsLabel.text=P\u00e1ginas:
+ResultsPanel.currentPageLabel.text=Pagina: -
+ResultsPanel.pageSizeLabel.text=Tama\u00f1o de p\u00e1gina:
+ResultsPanel.gotoPageLabel.text=Ir a la p\u00e1gina:
+HashSetFilterPanel.hashSetCheckbox.text=Conjunto hash:
+PastOccurrencesFilterPanel.pastOccurrencesCheckbox.text=Apariciones anteriores:
+DocumentFilterPanel.documentsFiltersSplitPane.border.title=Paso 2: Filtrar qu\u00e9 documentos mostrar
+ObjectDetectedFilterPanel.text=Objeto detectado:
+DateFilterPanel.mostRecentRadioButton.text=Solo final:
+DateFilterPanel.dateFilterCheckBox.text=Filtro de fecha:
+DomainSummaryPanel.pagesLabel.text=
+DomainSummaryPanel.filesDownloadedLabel.text=
+FileDetailsPanel.instancesList.border.title=Instancias
+CookieDetailsPanel.jLabel1.text=Artefacto:
+CookieDetailsPanel.jLabel2.text=
+PreviouslyNotableFilterPanel.text_1=Incluir solo dominios previamente notables
+KnownAccountTypeFilterPanel.text_1=Incluir solo dominios con tipo de cuenta conocido
+LoadingPanel.detailsLabel.AccessibleContext.accessibleName=etiquetaDetalles
+VideoThumbnailPanel.bytes.text=bytes
+VideoThumbnailPanel.deleted.text=Todas las instancias del archivo est\u00e1n eliminadas.
+VideoThumbnailPanel.gigaBytes.text=GB
+VideoThumbnailPanel.kiloBytes.text=KB
+VideoThumbnailPanel.megaBytes.text=MB
+VideoThumbnailPanel.nameLabel.more.text=\ y {0} m\u00e1s
+VideoThumbnailPanel.sizeLabel.text=Tama\u00f1o: {0} {1}
+VideoThumbnailPanel.terraBytes.text=TB
diff --git a/Core/src/org/sleuthkit/autopsy/events/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/events/Bundle_ar.properties
deleted file mode 100644
index 1678147f5d1..00000000000
--- a/Core/src/org/sleuthkit/autopsy/events/Bundle_ar.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-MessageServiceConnectionInfo.ConnectionCheck.Everything=Nombre de host, numero de puerto, nombre de usuario y/o contrasenia no validos.
-MessageServiceConnectionInfo.ConnectionCheck.Hostname=Nombre de host no valido.
-MessageServiceConnectionInfo.ConnectionCheck.Port=Número de puerto no valido.
-MessageServiceConnectionInfo.ConnectionCheck.Username=Nombre de usuario no valido.
-MessageServiceConnectionInfo.ConnectionCheck.Password=Contrasenia no valida.
-MessageServiceConnectionInfo.ConnectionCheck.UsernameAndPassword=Nombre de usuario y/o contrasenia no validos.
-MessageServiceConnectionInfo.ConnectionCheck.HostnameOrPort=Nombre de host y/o numero de puerto no validos.
-MessageServiceConnectionInfo.MissingHostname=Nombre de host faltante.
-MessageServiceConnectionInfo.MissingUsername=Nombre de usuario faltante.
-MessageServiceConnectionInfo.MissingPassword=Contrasenia faltante.
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/events/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/events/Bundle_es.properties
new file mode 100644
index 00000000000..3814dd48973
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/events/Bundle_es.properties
@@ -0,0 +1,17 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+MessageServiceConnectionInfo.ConnectionCheck.Everything=Nombre de host, n\u00famero de puerto, nombre de usuario y/o contrase\u00f1a no v\u00e1lidos.
+MessageServiceConnectionInfo.ConnectionCheck.Hostname=Nombre de host no v\u00e1lido.
+MessageServiceConnectionInfo.ConnectionCheck.Port=N\u00famero de puerto no v\u00e1lido.
+MessageServiceConnectionInfo.ConnectionCheck.Username=Nombre de usuario no v\u00e1lido.
+MessageServiceConnectionInfo.ConnectionCheck.Password=Contrase\u00f1a no v\u00e1lida.
+MessageServiceConnectionInfo.ConnectionCheck.UsernameAndPassword=Nombre de usuario y/o contrase\u00f1a no v\u00e1lidos.
+MessageServiceConnectionInfo.ConnectionCheck.HostnameOrPort=Nombre de host y/o n\u00famero de puerto no v\u00e1lidos.
+MessageServiceConnectionInfo.MissingHostname=Falta el nombre de host.
+MessageServiceConnectionInfo.MissingUsername=Falta el nombre de usuario.
+MessageServiceConnectionInfo.MissingPassword=Falta la contrase\u00f1a.
diff --git a/Core/src/org/sleuthkit/autopsy/examples/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/examples/Bundle_ar.properties
deleted file mode 100644
index fcdebc1e196..00000000000
--- a/Core/src/org/sleuthkit/autopsy/examples/Bundle_ar.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-SampleContentViewer.jLabel1.text=jLabel1
-SampleIngestModuleFactory.moduleName=Modulo de Ingesta de Muestra
-SampleIngestModuleFactory.moduleDescription=Este modulo sirve como un modulo de ingestion de muestra para desarrolladores de software.
-SampleIngestModuleIngestJobSettingsPanel.skipKnownFilesCheckBox.text=Saltar Archivos Conocidos (NSRL)
-SampleExecutableIngestModuleFactory.moduleName=Modulo de Ingesta de Ejecutable de Muestra
-SampleExecutableIngestModuleFactory.moduleDescription=Este modulo sirve como un modulo de ingestion de muestra ejecutable para desarrolladores de software.
diff --git a/Core/src/org/sleuthkit/autopsy/examples/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/examples/Bundle_es.properties
new file mode 100644
index 00000000000..79ea18541e1
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/examples/Bundle_es.properties
@@ -0,0 +1,13 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+SampleContentViewer.jLabel1.text=jLabel1
+SampleIngestModuleFactory.moduleName=M\u00f3dulo de Ingesta de Ejemplo
+SampleIngestModuleFactory.moduleDescription=Este m\u00f3dulo sirve como un m\u00f3dulo de ingesta de ejemplo para desarrolladores de software.
+SampleIngestModuleIngestJobSettingsPanel.skipKnownFilesCheckBox.text=Omitir archivos conocidos (NSRL)
+SampleExecutableIngestModuleFactory.moduleName=M\u00f3dulo Ejecutable de Ingesta de Ejemplo
+SampleExecutableIngestModuleFactory.moduleDescription=Este m\u00f3dulo sirve como un m\u00f3dulo ejecutable de ingesta de ejemplo para desarrolladores de software.
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_ar.properties
deleted file mode 100644
index f101a3643a2..00000000000
--- a/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_ar.properties
+++ /dev/null
@@ -1,83 +0,0 @@
-DataSourceFilter.errorMessage.emptyDataSource=Al menos se debe seleccionar una fuente de datos.
-DateSearchFilter.errorMessage.endDateBeforeStartDate=La fecha de finalizacion debe ser posterior a la fecha de inicio.
-DateSearchFilter.errorMessage.noCheckboxSelected=Al menos se debe seleccionar una casilla de verificacion de tipo de fecha.
-FileSearchPanel.cancelledSearch.text=La busqueda fue cancelada
-FileSearchPanel.emptyNode.display.text=No se encontraron resultados.
-FileSearchPanel.searchingNode.display.text=Realizando busqueda de archivos por atributos. Por favor, espera.
-FileSearchPanel.searchingPath.text=Busqueda de archivos en progreso
-HashSearchFilter.errorMessage.emptyHash=Los datos de hash estan vacios.
-HashSearchFilter.errorMessage.wrongCharacter=MD5 contiene caracteres hexadecimales no validos.
-# {0} - hash data length
-HashSearchFilter.errorMessage.wrongLengthMd5=La longitud de entrada ({0}) no coincide con la longitud de MD5 (32).
-# {0} - hash data length
-HashSearchFilter.errorMessage.wrongLengthSha256=La longitud de entrada ({0}) no coincide con la longitud de SHA-256 (64).
-KnownStatusSearchFilter.errorMessage.noKnownStatusCheckboxSelected=Al menos se debe seleccionar una casilla de verificacion de estado conocido.
-MimeTypeFilter.errorMessage.emptyMimeType=Al menos se debe seleccionar un tipo MIME.
-NameSearchFilter.errorMessage.emtpyName=Por favor, ingresa un nombre para la busqueda.
-OpenIDE-Module-Name=FileSearch
-KnownStatusSearchPanel.knownCheckBox.text=Estado Conocido:
-KnownStatusSearchPanel.knownBadOptionCheckBox.text=Notable
-KnownStatusSearchPanel.knownOptionCheckBox.text=Conocido (NSRL u otro)
-KnownStatusSearchPanel.unknownOptionCheckBox.text=Desconocido
-DateSearchFilter.noneSelectedMsg.text=Al menos se debe seleccionar un tipo de fecha\!
-DateSearchPanel.dateCheckBox.text=Fecha:
-DateSearchPanel.jLabel4.text=Zona horaria:
-DateSearchPanel.createdCheckBox.text=Creado
-DateSearchPanel.accessedCheckBox.text=Accedido
-DateSearchPanel.changedCheckBox.text=Cambiado
-DateSearchPanel.modifiedCheckBox.text=Modificado
-DateSearchPanel.jLabel1.text=hasta
-NameSearchPanel.nameCheckBox.text=Nombre:
-NameSearchPanel.noteNameLabel.text=*Nota: La coincidencia de nombres distingue entre mayusculas y minusculas y coincide con cualquier parte del nombre del archivo (sin incluir la ruta principal). Las expresiones regulares no son compatibles en este momento..
-NameSearchPanel.searchTextField.text=
-SearchNode.getName.text=Resultado de la Busqueda
-SizeSearchFilter.errorMessage.nonNegativeNumber=Los datos de tamanio de entrada son un numero negativo.
-SizeSearchFilter.errorMessage.notANumber=Los datos de tamanio de entrada no son un numero.
-SizeSearchPanel.sizeCheckBox.text=Tamanio:
-NameSearchPanel.cutMenuItem.text=Cortar
-NameSearchPanel.copyMenuItem.text=Copiar
-NameSearchPanel.pasteMenuItem.text=Pegar
-NameSearchPanel.selectAllMenuItem.text=Seleccionar Todo
-SizeSearchPanel.selectAllMenuItem.text=Seleccionar Todo
-SizeSearchPanel.pasteMenuItem.text=Pegar
-SizeSearchPanel.copyMenuItem.text=Copiar
-SizeSearchPanel.cutMenuItem.text=Cortar
-DateSearchPanel.cutMenuItem.text=Cortar
-DateSearchPanel.selectAllMenuItem.text=Seleccionar Todo
-DateSearchPanel.pasteMenuItem.text=Pegar
-DateSearchPanel.copyMenuItem.text=Copiar
-FileSearchAction.getName.text=Busqueda de Archivos por Atributos
-FileSearchDialog.frame.title=Busqueda de Archivos por Atributos
-FileSearchDialog.frame.msg=Busqueda de Archivos por Atributos
-FileSearchPanel.custComp.label.text=Buscar archivos que cumplan con los siguientes criterios:
-FileSearchPanel.filterTitle.name=Nombre
-FileSearchPanel.filterTitle.metadata=Metadatos
-FileSearchPanel.filterTitle.knownStatus=Estado Conocido
-FileSearchPanel.search.results.title=Resultados de la Busqueda de Archivos {0}
-FileSearchPanel.search.results.pathText=Resultados de Busqueda de Nombres de Archivos:
-FileSearchPanel.search.results.msg=Busqueda de Archivos: {0} coincidencias encontradas
-FileSearchPanel.search.results.details=Un gran numero de coincidencias puede afectar el rendimiento en algunas operaciones
-FileSearchPanel.search.exception.noFilterSelected.msg=Al menos se debe seleccionar un filtro.
-FileSearchPanel.search.validationErr.msg=Error de validacion: {0}
-FileSearchPanel.emptyWhereClause.text=Opciones no validas, nada que mostrar.
-KnownStatusSearchFilter.noneSelectedMsg.text=Al menos se debe seleccionar un estado conocido\!
-NameSearchFilter.emptyNameMsg.text=Debes ingresar algo para la busqueda por nombre.
-SizeSearchPanel.sizeCompareComboBox.equalTo=igual a
-SizeSearchPanel.sizeCompareComboBox.greaterThan=mayor que
-SizeSearchPanel.sizeCompareComboBox.lessThan=menor que
-FileSearchPanel.searchButton.text=Buscar
-MimeTypePanel.mimeTypeCheckBox.text=Tipo MIME:
-HashSearchPanel.md5CheckBox.text=MD5:
-Sha256HashSearchPanel.sha256CheckBox.text=SHA-256:
-HashSearchPanel.emptyHashMsg.text=Debes ingresar algo para la busqueda por hash.
-FileSearchPanel.errorLabel.text=\
-DataSourcePanel.dataSourceCheckBox.label=Fuente de Datos:
-DataSourcePanel.dataSourceCheckBox.actionCommand=Fuente de Datos:
-DataSourcePanel.dataSourceCheckBox.text=Fuente de Datos:
-DataSourcePanel.dataSourceNoteLabel.text=*Nota: Puedes seleccionar multiples fuentes de datos
-DateSearchPanel.noLimitLabel.text=*Los campos vacios significan "Sin Limite"
-DateSearchPanel.dateFormatLabel.text=*El formato de fecha es mm/dd/yyyy
-MimeTypePanel.noteLabel.text=*Nota: Puedes seleccionar multiples tipos MIME
-HashSearchPanel.sha256CheckBox.text=SHA-256:
-HashSearchPanel.sha256TextField.text=
-FileSearchPanel.closeButton.text=Cerrar
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_es.properties
new file mode 100644
index 00000000000..20f2d56ea46
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/Bundle_es.properties
@@ -0,0 +1,89 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+DataSourceFilter.errorMessage.emptyDataSource=Se debe seleccionar al menos una fuente de datos.
+DateSearchFilter.errorMessage.endDateBeforeStartDate=La fecha final debe ser posterior a la fecha de inicio.
+DateSearchFilter.errorMessage.noCheckboxSelected=Se debe seleccionar al menos un tipo de fecha.
+FileSearchPanel.cancelledSearch.text=La b\u00fasqueda fue cancelada
+FileSearchPanel.emptyNode.display.text=No se encontraron resultados.
+FileSearchPanel.searchingNode.display.text=Realizando b\u00fasqueda de archivos por atributos. Por favor, espere.
+FileSearchPanel.searchingPath.text=B\u00fasqueda de archivos en progreso
+HashSearchFilter.errorMessage.emptyHash=Los datos del hash est\u00e1n vac\u00edos.
+HashSearchFilter.errorMessage.wrongCharacter=MD5 contiene caracteres hexadecimales inv\u00e1lidos.
+HashSearchFilter.errorMessage.wrongLengthMd5=Longitud ingresada({0}) no coincide con la longitud MD5(32).
+HashSearchFilter.errorMessage.wrongLengthSha256=Longitud ingresada({0}) no coincide con la longitud SHA-256(64).
+KnownStatusSearchFilter.errorMessage.noKnownStatusCheckboxSelected=Se debe seleccionar al menos un estado conocido.
+MimeTypeFilter.errorMessage.emptyMimeType=Se debe seleccionar al menos un tipo MIME.
+NameSearchFilter.errorMessage.emtpyName=Ingrese un nombre para buscar.
+OpenIDE-Module-Name=B\u00fasquedaDeArchivos
+KnownStatusSearchPanel.knownCheckBox.text=Estado conocido:
+KnownStatusSearchPanel.knownBadOptionCheckBox.text=Notable
+KnownStatusSearchPanel.knownOptionCheckBox.text=Conocido (NSRL u otro)
+KnownStatusSearchPanel.unknownOptionCheckBox.text=Desconocido
+DateSearchFilter.noneSelectedMsg.text=Se debe seleccionar al menos un tipo de fecha\!
+DateSearchPanel.dateCheckBox.text=Fecha:
+DateSearchPanel.jLabel4.text=Zona horaria:
+DateSearchPanel.createdCheckBox.text=Creado
+DateSearchPanel.accessedCheckBox.text=Accedido
+DateSearchPanel.changedCheckBox.text=Cambiado
+DateSearchPanel.modifiedCheckBox.text=Modificado
+DateSearchPanel.jLabel1.text=a
+NameSearchPanel.nameCheckBox.text=Nombre:
+NameSearchPanel.noteNameLabel.text=*Nota: La coincidencia de nombre no distingue entre may\u00fasculas y min\u00fasculas y coincide con cualquier parte del nombre del archivo (sin incluir la ruta principal). Actualmente no se admiten expresiones regulares.
+NameSearchPanel.searchTextField.text=
+SearchNode.getName.text=Resultado de la b\u00fasqueda
+SizeSearchFilter.errorMessage.nonNegativeNumber=El tama\u00f1o ingresado es un n\u00famero negativo.
+SizeSearchFilter.errorMessage.notANumber=El tama\u00f1o ingresado no es un n\u00famero.
+SizeSearchPanel.sizeCheckBox.text=Tama\u00f1o:
+NameSearchPanel.cutMenuItem.text=Cortar
+NameSearchPanel.copyMenuItem.text=Copiar
+NameSearchPanel.pasteMenuItem.text=Pegar
+NameSearchPanel.selectAllMenuItem.text=Seleccionar todo
+SizeSearchPanel.selectAllMenuItem.text=Seleccionar todo
+SizeSearchPanel.pasteMenuItem.text=Pegar
+SizeSearchPanel.copyMenuItem.text=Copiar
+SizeSearchPanel.cutMenuItem.text=Cortar
+DateSearchPanel.cutMenuItem.text=Cortar
+DateSearchPanel.selectAllMenuItem.text=Seleccionar todo
+DateSearchPanel.pasteMenuItem.text=Pegar
+DateSearchPanel.copyMenuItem.text=Copiar
+FileSearchAction.getName.text=B\u00fasqueda de archivos por atributos
+FileSearchDialog.frame.title=B\u00fasqueda de archivos por atributos
+FileSearchDialog.frame.msg=B\u00fasqueda de archivos por atributos
+FileSearchPanel.custComp.label.text=Buscar archivos que coincidan con los siguientes criterios:
+FileSearchPanel.filterTitle.name=Nombre
+FileSearchPanel.filterTitle.metadata=Metadatos
+FileSearchPanel.filterTitle.knownStatus=Estado conocido
+FileSearchPanel.search.results.title=Resultados de la b\u00fasqueda de archivos {0}
+FileSearchPanel.search.results.pathText=Resultados de la b\u00fasqueda por nombre:
+FileSearchPanel.search.results.msg=B\u00fasqueda de archivos: {0} coincidencias encontradas
+FileSearchPanel.search.results.details=Un gran n\u00famero de coincidencias puede afectar el rendimiento en algunas operaciones
+FileSearchPanel.search.exception.noFilterSelected.msg=Se debe seleccionar al menos un filtro.
+FileSearchPanel.search.validationErr.msg=Error de validaci\u00f3n: {0}
+FileSearchPanel.emptyWhereClause.text=Opciones inv\u00e1lidas, nada que mostrar.
+KnownStatusSearchFilter.noneSelectedMsg.text=Se debe seleccionar al menos un estado conocido\!
+NameSearchFilter.emptyNameMsg.text=Debe ingresar algo para la b\u00fasqueda por nombre.
+SizeSearchPanel.sizeCompareComboBox.equalTo=igual a
+SizeSearchPanel.sizeCompareComboBox.greaterThan=mayor que
+SizeSearchPanel.sizeCompareComboBox.lessThan=menor que
+FileSearchPanel.searchButton.text=Buscar
+MimeTypePanel.mimeTypeCheckBox.text=Tipo MIME:
+HashSearchPanel.md5CheckBox.text=MD5:
+Sha256HashSearchPanel.sha256CheckBox.text=SHA-256:
+HashSearchPanel.emptyHashMsg.text=Debe ingresar algo para la b\u00fasqueda por hash.
+FileSearchPanel.errorLabel.text=\
+DataSourcePanel.dataSourceCheckBox.label=Fuente de datos:
+DataSourcePanel.dataSourceCheckBox.actionCommand=Fuente de datos:
+DataSourcePanel.dataSourceCheckBox.text=Fuente de datos:
+DataSourcePanel.dataSourceNoteLabel.text=*Nota: Se pueden seleccionar m\u00faltiples fuentes de datos
+DateSearchPanel.noLimitLabel.text=*Campos vac\u00edos significan "Sin l\u00edmite"
+DateSearchPanel.dateFormatLabel.text=*El formato de fecha es mm/dd/aaaa
+MimeTypePanel.noteLabel.text=*Nota: Se pueden seleccionar m\u00faltiples tipos MIME
+HashSearchPanel.sha256CheckBox.text=SHA-256:
+HashSearchPanel.sha256TextField.text=
+FileSearchPanel.closeButton.text=Cerrar
+DeletedFilesSearchPanel.deletedCheckbox.text=Eliminados
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/geolocation/Bundle_ar.properties
deleted file mode 100644
index e04f2cc84a4..00000000000
--- a/Core/src/org/sleuthkit/autopsy/geolocation/Bundle_ar.properties
+++ /dev/null
@@ -1,79 +0,0 @@
-CTL_GeolocationTopComponentAction=GeolocationTopComponent
-CTL_GeolocationTopComponent=Geolocalizacion
-CTL_OpenGeolocation=Geolocalizacion
-GeoFilterPanel_ArtifactType_List_Title=Tipos
-GeoFilterPanel_DataSource_List_Title=Fuentes de Datos
-GeoFilterPanel_empty_artifactType=No se puede aplicar el filtro, por favor selecciona uno o mas tipos de artefactos.
-GeoFilterPanel_empty_dataSource=No se puede aplicar el filtro, por favor selecciona una o mas fuentes de datos.
-GeolocationSettings_mbtile_does_not_exist_message=El archivo suministrado no existe.\nPor favor, verifica que el archivo exista e intenta nuevamente.
-GeolocationSettings_mbtile_does_not_exist_title=Archivo no encontrado
-GeolocationSettings_mbtile_not_valid_message=El archivo suministrado no es un archivo de tesela de raster.
-GeolocationSettings_mbtile_not_valid_title=Archivo no valido
-GeolocationSettings_mbtile_test_success_message=El archivo suministrado es un archivo raster valido de tesela MBTile.
-GeolocationSettings_mbtile_test_success_title=exito
-GeolocationSettings_path_not_valid_message=La ruta del archivo suministrado esta vacia.\nPor favor, proporciona una ruta de archivo valida.
-GeolocationSettings_path_not_valid_title=Archivo no valido
-GeolocationSettingsPanel_malformed_url_message=La direccion suministrada del servidor de teselas OSM no es valida.\nPor favor, proporciona una URL bien formada con el prefijo http://
-GeolocationSettingsPanel_malformed_url_message_tile=URL malformada
-GeolocationSettingsPanel_osm_server_test_fail_message=La prueba del servidor de teselas OSM suministrado fallo.\nNo se pudo conectar al servidor.
-GeolocationSettingsPanel_osm_server_test_fail_message_title=Error
-GeolocationSettingsPanel_osm_server_test_success_message=La direccion del servidor de teselas OSM proporcionada es valida.
-GeolocationSettingsPanel_osm_server_test_success_message_title=exito
-GeolocationTC_connection_failure_message=Error al conectarse a la fuente de teselas de mapa.\nPor favor, revisa la fuente del mapa en el cuadro de dialogo de Opciones.
-GeolocationTC_connection_failure_message_title=Fallo en la conexion
-GeolocationTC_empty_waypoint_message=No se puede generar el informe KML debido a la falta de puntos de referencia.\nPor favor, asegurate de que haya puntos de referencia visibles antes de generar el informe KML.
-GeolocationTC_KML_report_title=Informe KML
-GeolocationTC_report_progress_title=Progreso del Informe KML
-GeolocationTopComponent.WaypointFetcher.onErrorDescription=Hubo un error al recopilar algunos datos de seguimiento GPS. Algunos resultados han sido excluidos..
-GeolocationTopComponent.WaypointFetcher.onErrorTitle=Error al recopilar datos de seguimiento GPS
-GeoTopComponent_filer_data_invalid_msg=No se puede ejecutar el filtro de puntos de referencia.\nPor favor, selecciona una o mas fuentes de datos.
-GeoTopComponent_filer_data_invalid_Title=Error en el filtro
-GeoTopComponent_filter_exception_msg=Se produjo una excepcion durante el filtrado de puntos de referencia.
-GeoTopComponent_filter_exception_Title=Error en el filtro
-GeoTopComponent_no_waypoints_returned_mgs=El filtro aplicado no pudo encontrar puntos de referencia que coincidieran con los criterios.\nRevisa las opciones de filtro e intentalo de nuevo.
-GeoTopComponent_no_waypoints_returned_Title=No se encontraron puntos de referencia
-GLTopComponent_initilzation_error=Se produjo un error durante la inicializacion de puntos de referencia. Es posible que los datos de geolocalizacion esten incompletos.
-GLTopComponent_name=Geolocalizacion
-GLTopComponent_No_dataSource_message=No se encontraron fuentes de datos con artefactos de geolocalizacion.
-GLTopComponent_No_dataSource_Title=No se encontraron artefactos de geolocalizacion
-HidingPane_default_title=Filtros
-MapPanel_connection_failure_message=Error al conectarse a una nueva fuente de teselas de mapas de geolocalizacion.
-MapPanel_connection_failure_message_title=Fallo en la conexion
-MayWaypoint_ExternalViewer_label=Abrir en Visor Externo
-RefreshPanel.refreshLabel.text=Los datos de geolocalizacion se han actualizado, la visualizacion puede estar desactualizada.
-RefreshPanel.refreshButton.text=Actualizar Vista
-RefreshPanel.closeButton.text=
-WaypointDetailPanel.closeButton.text=
-WaypointDetailPanel.imageLabel.text=
-GeoFilterPanel.waypointSettings.border.title=
-GeoFilterPanel.allButton.text=Todos
-GeoFilterPanel.mostRecentButton.text=Solo ultimos
-GeoFilterPanel.applyButton.text=Aplicar
-GeoFilterPanel.showWaypointsWOTSCheckBox.text=Incluir puntos de referencia sin marcas de tiempo
-GeoFilterPanel.daysLabel.text=dias de actividad
-GeoFilterPanel.optionsLabel.text=Fechas
-OptionsCategory_Name_Geolocation=Geolocalizacion
-OptionsCategory_Keywords_Geolocation=Configuracion de Geolocalizacion
-GeolocationSettingsPanel.tilePane.border.title=Fuente de Datos de Teselas de Mapa
-OptionsCategory_Keywords_Geolocation=Geolocalizacion
-GeolocationSettingsPanel.mbtileFileField.toolTipText=
-GeolocationSettingsPanel.mbtileFileField.text=
-GeolocationSettingsPanel.defaultDataSource.text=Servidor de teselas en linea predeterminado (bing.com/maps)
-GeolocationSettingsPanel.osmServerRBnt.text=Servidor de OpenStreetMap
-GeolocationSettingsPanel.zipFileRBnt.text=Archivo ZIP de OpenStreetMap
-GeolocationSettingsPanel.zipFileRBnt.actionCommand=Archivo ZIP de teselas de OpenStreetMap
-GeolocationSettingsPanel.mbtilesRBtn.text=Archivo MBTiles
-GeolocationSettingsPanel.osmServerAddressField.text=
-GeolocationSettingsPanel.zipFilePathField.text=
-GeolocationSettingsPanel.serverTestBtn.text=Probar
-GeolocationSettingsPanel.mbtilesBrowseBtn.text=Explorar
-GeolocationSettingsPanel.zipFileBrowseBnt.text=Explorar
-GeolocationSettingsPanel.mbtileTestBtn.text=Probar
-GeolocationTopComponent.reportButton.text=Informe KML
-GeolocationTopComponent.coordLabel.text=
-MapPanel.zoomInBtn.text=
-MapPanel.zoomOutBtn.text=
-GeoFilterPanel.showLabel.text=Mostrar:
-GeoFilterPanel.showLabel.toolTipText=Mostrar:
-GeoFilterPanel.atCBPanel.AccessibleContext.accessibleName=
-WaypointExtractAction_label=Extraer Archivos
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/geolocation/Bundle_es.properties
new file mode 100644
index 00000000000..b355a0a7b88
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/geolocation/Bundle_es.properties
@@ -0,0 +1,86 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CTL_GeolocationTopComponentAction=GeolocationTopComponent
+CTL_GeolocationTopComponent=Geolocalizaci\u00f3n
+CTL_OpenGeolocation=Geolocalizaci\u00f3n
+GeoFilterPanel_ArtifactType_List_Title=Tipos
+GeoFilterPanel_DataSource_List_Title=Fuentes de datos
+GeoFilterPanel_empty_artifactType=No se puede aplicar el filtro, por favor seleccione uno o m\u00e1s tipos de artefactos.
+GeoFilterPanel_empty_dataSource=No se puede aplicar el filtro, por favor seleccione una o m\u00e1s fuentes de datos.
+GeolocationSettings_mbtile_does_not_exist_message=El archivo proporcionado no existe.\nPor favor verifique que el archivo existe e int\u00e9ntelo de nuevo.
+GeolocationSettings_mbtile_does_not_exist_title=Archivo no encontrado
+GeolocationSettings_mbtile_not_valid_message=El archivo proporcionado no es un archivo de teselas raster.
+GeolocationSettings_mbtile_not_valid_title=Archivo no v\u00e1lido
+GeolocationSettings_mbtile_test_success_message=El archivo proporcionado es un archivo mbtile raster v\u00e1lido.
+GeolocationSettings_mbtile_test_success_title=\u00c9xito
+GeolocationSettings_path_not_valid_message=La ruta del archivo proporcionado est\u00e1 vac\u00eda.\nPor favor proporcione una ruta de archivo v\u00e1lida.
+GeolocationSettings_path_not_valid_title=Archivo no v\u00e1lido
+GeolocationSettingsPanel_malformed_url_message=La direcci\u00f3n del servidor de teselas OSM proporcionada no es v\u00e1lida.\nPor favor proporcione una URL bien formada con prefijo http://
+GeolocationSettingsPanel_malformed_url_message_tile=URL mal formada
+GeolocationSettingsPanel_osm_server_test_fail_message=La prueba del servidor de teselas OSM fall\u00f3.\nNo se puede conectar con el servidor.
+GeolocationSettingsPanel_osm_server_test_fail_message_title=Error
+GeolocationSettingsPanel_osm_server_test_success_message=La direcci\u00f3n del servidor de teselas OSM es v\u00e1lida.
+GeolocationSettingsPanel_osm_server_test_success_message_title=\u00c9xito
+GeolocationTC_connection_failure_message=No se pudo conectar a la fuente de teselas del mapa.\nPor favor revise la fuente del mapa en el di\u00e1logo de Opciones.
+GeolocationTC_connection_failure_message_title=Fallo de conexi\u00f3n
+GeolocationTC_empty_waypoint_message=No se puede generar el informe KML debido a la falta de puntos de paso.\nAseg\u00farese de que haya puntos de paso visibles antes de generar el informe KML.
+GeolocationTC_KML_report_title=Informe KML
+GeolocationTC_report_progress_title=Progreso del informe KML
+GeolocationTopComponent.WaypointFetcher.onErrorDescription=Hubo un error al recopilar algunos datos de seguimiento GPS. Algunos resultados han sido excluidos.
+GeolocationTopComponent.WaypointFetcher.onErrorTitle=Error al recopilar datos de seguimiento GPS
+GeoTopComponent_filer_data_invalid_msg=No se puede ejecutar el filtro de puntos de paso.\nPor favor seleccione una o m\u00e1s fuentes de datos.
+GeoTopComponent_filer_data_invalid_Title=Fallo del filtro
+GeoTopComponent_filter_exception_msg=Ocurri\u00f3 una excepci\u00f3n durante el filtrado de puntos de paso.
+GeoTopComponent_filter_exception_Title=Fallo del filtro
+GeoTopComponent_no_waypoints_returned_mgs=El filtro aplicado no encontr\u00f3 puntos de paso que coincidan con los criterios.\nRevise las opciones del filtro e int\u00e9ntelo de nuevo.
+GeoTopComponent_no_waypoints_returned_Title=No se encontraron puntos de paso
+GLTopComponent_initilzation_error=Ocurri\u00f3 un error durante la inicializaci\u00f3n de los puntos de paso. Los datos de geolocalizaci\u00f3n pueden estar incompletos.
+GLTopComponent_name=Geolocalizaci\u00f3n
+GLTopComponent_No_dataSource_message=No se encontraron fuentes de datos con artefactos de geolocalizaci\u00f3n.
+GLTopComponent_No_dataSource_Title=No se encontraron artefactos de geolocalizaci\u00f3n
+HidingPane_default_title=Filtros
+MapPanel_connection_failure_message=No se pudo conectar con la nueva fuente de teselas del mapa de geolocalizaci\u00f3n.
+MapPanel_connection_failure_message_title=Fallo de conexi\u00f3n
+MayWaypoint_ExternalViewer_label=Abrir en visor externo
+RefreshPanel.refreshLabel.text=Los datos de geolocalizaci\u00f3n han sido actualizados, la visualizaci\u00f3n puede estar desactualizada.
+RefreshPanel.refreshButton.text=Actualizar vista
+RefreshPanel.closeButton.text=
+WaypointDetailPanel.closeButton.text=
+WaypointDetailPanel.imageLabel.text=
+GeoFilterPanel.waypointSettings.border.title=
+GeoFilterPanel.allButton.text=Todos
+GeoFilterPanel.mostRecentButton.text=\u00daltimos solamente
+GeoFilterPanel.applyButton.text=Aplicar
+GeoFilterPanel.showWaypointsWOTSCheckBox.text=Incluir puntos de paso sin marcas de tiempo
+GeoFilterPanel.daysLabel.text=d\u00edas de actividad
+GeoFilterPanel.optionsLabel.text=Fechas
+OptionsCategory_Name_Geolocation=Geolocalizaci\u00f3n
+OptionsCategory_Keywords_Geolocation=Configuraci\u00f3n de geolocalizaci\u00f3n
+GeolocationSettingsPanel.tilePane.border.title=Fuente de datos de teselas del mapa
+OptionsCategory_Keywords_Geolocation=Configuraci\u00f3n de geolocalizaci\u00f3n
+GeolocationSettingsPanel.mbtileFileField.toolTipText=
+GeolocationSettingsPanel.mbtileFileField.text=
+GeolocationSettingsPanel.defaultDataSource.text=Servidor de teselas en l\u00ednea predeterminado (bing.com/maps)
+GeolocationSettingsPanel.osmServerRBnt.text=Servidor OpenStreetMap
+GeolocationSettingsPanel.zipFileRBnt.text=Archivo zip de OpenStreetMap
+GeolocationSettingsPanel.zipFileRBnt.actionCommand=Archivo ZIP de teselas de OpenStreetMap
+GeolocationSettingsPanel.mbtilesRBtn.text=Archivo MBTiles
+GeolocationSettingsPanel.osmServerAddressField.text=
+GeolocationSettingsPanel.zipFilePathField.text=
+GeolocationSettingsPanel.serverTestBtn.text=Probar
+GeolocationSettingsPanel.mbtilesBrowseBtn.text=Examinar
+GeolocationSettingsPanel.zipFileBrowseBnt.text=Examinar
+GeolocationSettingsPanel.mbtileTestBtn.text=Probar
+GeolocationTopComponent.reportButton.text=Informe KML
+GeolocationTopComponent.coordLabel.text=
+MapPanel.zoomInBtn.text=
+MapPanel.zoomOutBtn.text=
+GeoFilterPanel.showLabel.text=Mostrar:
+GeoFilterPanel.showLabel.toolTipText=Mostrar:
+GeoFilterPanel.atCBPanel.AccessibleContext.accessibleName=
+WaypointExtractAction_label=Extraer archivo(s)
diff --git a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/Bundle_ar.properties
deleted file mode 100644
index 4b609eb6a5c..00000000000
--- a/Core/src/org/sleuthkit/autopsy/geolocation/datamodel/Bundle_ar.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-# {0} - area name
-GEOArea_point_label_header=Punto de contorno del area para el area: {0}
-# {0} - track name
-GEOTrack_point_label_header=Punto de seguimiento para la ruta: {0}
-LastKnownWaypoint_Label=Ultima ubicacion conocida
-Route_End_Label=Fin
-Route_Label=Ruta en linea recta
-Route_point_label=Puntos de referencia para la ruta
-Route_Start_Label=Inicio
-SearchWaypoint_DisplayLabel=Busqueda GPS
-Track_distanceFromHome_displayName=Distancia desde el punto de origen
-Track_distanceTraveled_displayName=Distancia recorrida
-TrackpointWaypoint_DisplayLabel=Punto de seguimiento GPS
diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_ar.properties
deleted file mode 100644
index a25c30690c2..00000000000
--- a/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_ar.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-CheckBoxListPanel.titleLabel.text=
-CheckBoxListPanel.checkButton.text=Marcar todo
-CheckBoxListPanel.uncheckButton.text=Desmarcar todo
-StatusIconCellRenderer.tooltiptext.error=Se produjo un error
-StatusIconCellRenderer.tooltiptext.ok=Aceptar
-StatusIconCellRenderer.tooltiptext.warning=Se produjo una advertencia
diff --git a/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_es.properties
new file mode 100644
index 00000000000..bfc8fef0aa3
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/guiutils/Bundle_es.properties
@@ -0,0 +1,13 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CheckBoxListPanel.titleLabel.text=
+CheckBoxListPanel.checkButton.text=Seleccionar todos
+CheckBoxListPanel.uncheckButton.text=Desmarcar todos
+StatusIconCellRenderer.tooltiptext.error=Ocurri\u00f3 un error
+StatusIconCellRenderer.tooltiptext.ok=OK
+StatusIconCellRenderer.tooltiptext.warning=Ocurri\u00f3 una advertencia
diff --git a/Core/src/org/sleuthkit/autopsy/healthmonitor/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/healthmonitor/Bundle_ar.properties
deleted file mode 100644
index a937e2debea..00000000000
--- a/Core/src/org/sleuthkit/autopsy/healthmonitor/Bundle_ar.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-HealthMonitorDashboard.createAdminPanel.disableButton=Desactivar monitor
-HealthMonitorDashboard.createAdminPanel.enableButton=Activar monitor
-HealthMonitorDashboard.createTimingControlPanel.filterByHost=Filtrar por host
-HealthMonitorDashboard.createTimingControlPanel.maxDays=Dias maximos a mostrar
-HealthMonitorDashboard.createTimingControlPanel.showTrendLine=Mostrar linea de tendencia
-HealthMonitorDashboard.createTimingControlPanel.skipOutliers=No representar valores atipicos
-HealthMonitorDashboard.createTimingPanel.noData=No hay datos para mostrar - el monitor no esta habilitado
-HealthMonitorDashboard.createTimingPanel.timingMetricsTitle=Metricas de Tiempo
-HealthMonitorDashboard.createUserControlPanel.maxDays=Dias maximos a mostrar
-# {0} - Report file name
-HealthMonitorDashboard.createUserControlPanel.reportDone=Informe guardado en: {0}
-HealthMonitorDashboard.createUserControlPanel.reportError=Error al generar el informe
-HealthMonitorDashboard.createUserControlPanel.userReportButton=Generar Informe
-HealthMonitorDashboard.createUserPanel.noData=No hay datos para mostrar - el monitor no esta habilitado
-HealthMonitorDashboard.createUserPanel.userMetricsTitle=Metricas de Usuario
-HealthMonitorDashboard.DateRange.oneDay=Un dia
-HealthMonitorDashboard.DateRange.oneMonth=Un mes
-HealthMonitorDashboard.DateRange.oneWeek=Una semana
-HealthMonitorDashboard.DateRange.twoWeeks=Dos semanas
-HealthMonitorDashboard.display.dashboardTitle=Monitor de Salud
-HealthMonitorDashboard.display.errorCreatingDashboard=Error al crear el tablero del monitor de salud
-HealthMonitorDashboard.updateTimingMetricGraphs.noData=No hay datos para mostrar
-HealthMonitorDashboard.updateUserMetricGraphs.noData=No hay datos para mostrar
-TimingMetricGraphPanel.paintComponent.displayingTime=mostrando tiempo en
-TimingMetricGraphPanel.paintComponent.hours=horas
-TimingMetricGraphPanel.paintComponent.microseconds=microsegundos
-TimingMetricGraphPanel.paintComponent.milliseconds=milisegundos
-TimingMetricGraphPanel.paintComponent.minutes=minutos
-TimingMetricGraphPanel.paintComponent.nanoseconds=nanosegundos
-TimingMetricGraphPanel.paintComponent.seconds=segundos
-UserMetricGraphPanel.constructor.casesOpen=Casos abiertos
-UserMetricGraphPanel.constructor.loggedIn=Usuarios conectados - nodos de examinador en azul, nodos de ingestion automatica en verde
diff --git a/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_ar.properties
deleted file mode 100644
index d5efb746da7..00000000000
--- a/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_ar.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-
-# {0} - data source name
-ImageWriter.progressBar.message=Finalizando adquisicion de {0} (desconectar el dispositivo para cancelar)
-ImageWriterService.serviceName=Escritor de Imagen
-ImageWriterService.waitingForVHDs=Esperando a que se complete(n) el/los VHD(s)
-ImageWriterService.shouldWait=¿Esperar a que se completen el/los VHD(s) en progreso?
-ImageWriterService.localDisk=Copia de imagen de disco local
diff --git a/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_es.properties
new file mode 100644
index 00000000000..5fd4c6f68d9
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/imagewriter/Bundle_es.properties
@@ -0,0 +1,17 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+# To change this license header, choose License in Project Properties.
+# To change this template file, choose Tools | Templates
+# and open the template in the editor.
+
+# {0} - data source name
+ImageWriter.progressBar.message=Finalizando la adquisici\u00f3n de {0} (desconecte el dispositivo para cancelar)
+ImageWriterService.serviceName=Escritor de Im\u00e1genes
+ImageWriterService.waitingForVHDs=Esperando que se completen los VHD(s)
+ImageWriterService.shouldWait=\u00bfEsperar a que se completen los VHD(s) en curso?
+ImageWriterService.localDisk=Copia de imagen de disco
diff --git a/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ar.properties
deleted file mode 100644
index ccdd9446b0e..00000000000
--- a/Core/src/org/sleuthkit/autopsy/ingest/Bundle_ar.properties
+++ /dev/null
@@ -1,169 +0,0 @@
-CTL_RunIngestAction=Ejecutar Ingesta
-FileIngestPipeline_SaveResults_Activity=Guardando Resultados
-# {0} - data source name
-IngestJob_progress_analysisResultIngest_displayName=Analizando resultados de analisis de {0}
-# {0} - tier number
-# {1} - job state modifer
-IngestJobExecutor_progress_snapshot_currentTier=Nivel {0} {1}
-IngestJobExecutor_progress_snapshot_currentTier_shutDown_modifier=Apagar
-IngestJobSettingsPanel.IngestModulesTableRenderer.info.message=Una version anterior de este modulo de ingestion se ha ejecutado anteriormente en esta fuente de datos.
-IngestJobSettingsPanel.IngestModulesTableRenderer.warning.message=Este modulo de ingestion se ha ejecutado anteriormente en esta fuente de datos.
-IngestJobSettingsPanel.noPerRunSettings=El modulo seleccionado no tiene configuraciones por ejecucion.
-IngestJobSettingsPanel.pastJobsButton.action.frame.title=Historial de Ingesta
-IngestManager.startupErr.dlgErrorList=Errores:
-IngestManager.startupErr.dlgMsg=No se puede iniciar uno o mas modulos de ingestion, la ingestion ha sido cancelada.
-IngestManager.startupErr.dlgSolution=Por favor, desactiva los modulos fallidos o corrige los errores antes de reiniciar la ingestion.
-IngestManager.startupErr.dlgTitle=Fallo en el Inicio del Modulo de Ingestion
-IngestOptionsPanel.fileFiltersTab.text=Filtros de Archivos
-IngestOptionsPanel.fileFiltersTab.toolTipText=Configuraciones para crear y editar filtros de archivo de ingestion.
-IngestOptionsPanel.profilesTab.text=Perfiles
-IngestOptionsPanel.profilesTab.toolTipText=Configuraciones para crear y editar perfiles.
-IngestOptionsPanel.settingsTab.text=Configuraciones
-IngestOptionsPanel.settingsTab.toolTipText=Configuraciones relacionadas con los recursos disponibles para la ingestion.
-OpenIDE-Module-Name=Ingesta
-Menu/Tools/RunIngestModules=Ejecutar Modulos de Ingestion
-CTL_IngestMessageTopComponent=Mensajes
-HINT_IngestMessageTopComponent=Ventanas de Mensajes
-IngestMessageDetailsPanel.backButton.text=
-IngestMessageDetailsPanel.viewArtifactButton.text=Ir a Resultado
-IngestMessageDetailsPanel.viewContentButton.text=Ir al Directorio
-IngestMessagePanel.sortByLabel.text=Ordenar por:
-IngestMessagePanel.sortByComboBox.toolTipText=Ordenar mensajes por tiempo (orden cronologico) o prioridad del mensaje
-IngestMessageDetailsPanel.messageDetailsPane.contentType=texto/html
-IngestMessageDetailsPanel.messageDetailsPane.toolTipText=
-IngestMessagesToolbar.toolTipText=
-IngestMessageDetailsPanel.copyMenuItem.text=Copiar
-IngestMessageDetailsPanel.selectAllMenuItem.text=Seleccionar Todo
-IngestMessageTopComponent.displayName=Bandeja de Entrada de Ingesta
-IngestMessagePanel.totalMessagesNameLabel.text=Total:
-IngestMessagePanel.totalMessagesNameVal.text=-
-IngestMessagePanel.totalUniqueMessagesNameLabel.text=unico:
-IngestMessagePanel.totalUniqueMessagesNameVal.text=-
-IngestJob.progress.dataSourceIngest.initialDisplayName=Analizando {0}
-IngestJob.progress.dataSourceIngest.displayName={0} para {1}
-IngestJob.progress.fileIngest.displayName=Analizando archivos desde {0}
-IngestJob.progress.dataArtifactIngest.displayName=Analizando artefactos de datos desde {0}
-IngestJob.progress.cancelling=Cancelando...
-IngestJob.cancellationDialog.title=Cancelar Ingesta
-IngestDialog.startButton.title=Inicio
-IngestDialog.closeButton.title=Cerrar
-IngestManager.moduleErr=Error del Modulo
-IngestManager.moduleErr.errListenToUpdates.msg=Un modulo causo un error al escuchar actualizaciones del Gestor de Ingesta. Consulta el registro para determinar que modulo es. Algunos datos podrian estar incompletos..
-IngestMessage.toString.type.text=tipo: {0}
-IngestMessage.toString.date.text=\ fecha: {0}
-IngestMessage.toString.subject.text=\ asunto: {0}
-IngestMessage.toString.details.text=\ detalles: {0}
-IngestMessage.toString.data.text=\ datos: {0}
-IngestMessage.exception.typeSrcSubjNotNull.msg=el tipo de mensaje, fuente y asunto no pueden ser nulos
-IngestMessage.exception.srcSubjNotNull.msg=la fuente y el asunto no pueden ser nulos
-IngestMessage.exception.srcSubjDetailsDataNotNull.msg=la fuente, asunto, detalles y datos no pueden ser nulos
-IngestMessagePanel.moduleErr=Error del Modulo
-IngestMessagePanel.moduleErr.errListenUpdates.text=Un modulo causo un error al escuchar actualizaciones del Panel de Mensajes de Ingesta. Consulta el registro para determinar que modulo es. Algunos datos podrian estar incompletos..
-IngestMessagePanel.MsgTableMod.colNames.module=Modulo
-IngestMessagePanel.MsgTableMod.colNames.num=Num.
-IngestMessagePanel.MsgTableMod.colNames.new=Nuevo?
-IngestMessagePanel.MsgTableMod.colNames.subject=Asunto
-IngestMessagePanel.MsgTableMod.colNames.timestamp=Marca de Tiempo
-IngestMessagePanel.BooleanRenderer.exception.nonBoolVal.msg=Intento utilizar el Renderizador de Booleanos en un valor no booleano.
-IngestMessagePanel.DateRenderer.exception.nonDateVal.text=Intento utilizar el Renderizador de Fechas en un valor no de Fecha.
-IngestMessageTopComponent.displayReport.option.OK=Aceptar
-IngestMessageTopComponent.displayReport.option.GenRpt=Generar Informe
-IngestMessageTopComponent.msgDlg.ingestRpt.text=Informe de Ingesta
-IngestMonitor.mgrErrMsg.lowDiskSpace.title=Ingesta detenida - poco espacio en disco en {0}
-IngestMonitor.mgrErrMsg.lowDiskSpace.msg=Deteniendo la ingestion debido a poco espacio en disco en el disco {0}. \nAsegurate de que la unidad del caso tenga al menos 1 GB de espacio libre y reinicia la ingestion.
-IngestManager.StartIngestJobsTask.run.displayName=Iniciando Ingesta
-IngestManager.StartIngestJobsTask.run.cancelling={0} (Cancelando...)
-IngestMessagePanel.sortByComboBox.model.time=Hora
-IngestMessagePanel.sortByComboBox.model.priority=Prioridad
-IngestMessagesToolbar.customizeButton.toolTipText=Mensajes de Ingesta
-IngestMessageTopComponent.initComponents.name=Bandeja de Entrada de Ingesta
-IngestManager.OpenEventChannel.Fail.ErrMsg=El proceso de analisis no pudo conectarse a ningun otro nodo que pudiera estar colaborando en el caso.
-IngestManager.OpenEventChannel.Fail.Title=Fallo en la conexion
-IngestJobSettings.createModuleSettingsFolder.warning=Error al crear la carpeta de configuracion del modulo de ingestion, no se pueden guardar las configuraciones..
-IngestJobSettings.missingModule.warning=El modulo {0} cargado previamente no pudo ser encontrado.
-IngestJobSettings.save.warning=Error al guardar las configuraciones del trabajo de ingestion para el modulo {0}.
-IngestJobSettings.moduleSettingsLoad.warning=Error al cargar las configuraciones del trabajo de ingestion para el modulo {0} para el contexto {1}, se usaran los valores predeterminados.
-IngestJobSettings.moduleSettingsSave.warning=Error al guardar las configuraciones del trabajo de ingestion para el modulo {0} para el contexto {1}.
-IngestProgressSnapshotDialog.title.text=Instantanea del Progreso de Ingesta
-IngestProgressSnapshotPanel.refreshButton.text=Actualizar
-IngestProgressSnapshotPanel.closeButton.text=Cerrar
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID=ID de Hilo
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource=Fuente de Datos
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.activity=Actividad
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file=Archivo
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime=Hora de Inicio
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime=Tiempo Transcurrido (H:M:S)
-IngestManager.IngestThreadActivitySnapshot.idleThread=INACTIVO
-IngestManager.IngestMessage.ErrorMessageLimitReached.subject=Maximo de Errores Publicados
-IngestManager.IngestMessage.ErrorMessageLimitReached.msg=Se ha alcanzado el numero maximo ({0}) de mensajes de error y/o advertencia publicados. Consulta el registro para ver errores/advertencias adicionales (Ayuda -> Abrir Carpeta de Registro).
-IngestManager.IngestMessage.ErrorMessageLimitReached.title=Gestor de Ingestion
-IngestModuleFactoryLoader.errorMessages.duplicateDisplayName=Se encontro un modulo con el nombre {0}, duplicando el nombre de otro modulo, el modulo no se utilizara.
-DataSourceIngestCancellationPanel.cancelCurrentModuleRadioButton.text=Cancelar solo el modulo de ingestion actual
-FileIngestCancellationPanel.cancelIngestJobRadioButton.text=Cancelar la ingestion de la fuente de datos y la ingestion de archivos
-FileIngestCancellationPanel.cancelFileIngestRadioButton.text=Cancelar solo la ingestion de archivos.
-DataSourceIngestCancellationPanel.cancelAllModulesRadioButton.text=Cancelar todos los modulos de ingestion
-IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.jobID=ID de Trabajo
-IngestJobTableModel.colName.jobID=ID de Trabajo
-IngestJobTableModel.colName.dataSource=Fuente de Datos
-IngestJobTableModel.colName.start=Inicio
-IngestJobTableModel.colName.tier=Nivel
-IngestJobTableModel.colName.numProcessed=Archivos Procesados
-IngestJobTableModel.colName.filesPerSec=Archivos/Seg
-IngestJobTableModel.colName.inProgress=En Progreso
-IngestJobTableModel.colName.filesQueued=Archivos en Cola
-IngestJobTableModel.colName.dirQueued=Directorios en Cola
-IngestJobTableModel.colName.rootQueued=Raices en Cola
-IngestJobTableModel.colName.streamingQueued=Archivos Transmitidos en Cola
-IngestJobTableModel.colName.dsQueued=DS en Cola
-IngestJobTableModel.colName.artifactsQueued=Artefactos en Cola
-IngestJobTableModel.colName.resultsQueued=Resultados en Cola
-ModuleTableModel.colName.module=Modulo
-ModuleTableModel.colName.duration=Duracion
-IngestJobSettingsPanel.jButtonSelectAll.text=Seleccionar Todo
-IngestJobSettingsPanel.jButtonDeselectAll.text=Deseleccionar Todo
-IngestManager.cancellingIngest.msgDlg.text=Cancelando todos los trabajos de ingestion en ejecucion actualmente
-IngestManager.serviceIsDown.msgDlg.text={0} esta inactivo
-ProfilePanel.messages.profileNameContainsIllegalCharacter=El nombre del perfil contiene un caracter no permitido. Solo se permiten letras, digitos y guiones bajos (\n)..
-ProfilePanel.messages.profilesMustBeNamed=El perfil de ingestion debe tener un nombre.
-ProfilePanel.newProfileText=NewEmptyProfile
-ProfilePanel.profileDescLabel.text=Descripcion:
-ProfilePanel.profileNameLabel.text=Nombre del Perfil:
-ProfilePanel.title.text=Perfil
-ProfileSettingsPanel.deleteProfileButton.text=Eliminar Perfil
-# {0} - profile name
-ProfileSettingsPanel.doFileSetsDialog.duplicateProfile.text=El perfil con el nombre {0} ya existe.
-ProfileSettingsPanel.editProfileButton.text=Editar Perfil
-ProfileSettingsPanel.filterNameLabel.text=Filtro:
-ProfileSettingsPanel.infoTextArea.text=Un Perfil de Ingestion ejecuta un conjunto preconfigurado de modulos de ingestion en algunos o todos los archivos de una fuente de datos. Crea un perfil si ejecutas frecuentemente el mismo conjunto de modulos en un subconjunto de los archivos..
-ProfileSettingsPanel.messages.filterLoadFailed=Error al cargar el filtro de ingestion de archivos
-ProfileSettingsPanel.newProfileButton.text=Nuevo Perfil
-ProfileSettingsPanel.profileDescLabel.text=Descripcion del Perfil:
-ProfileSettingsPanel.profileListLabel.text=Perfiles:
-ProfileSettingsPanel.selectedModulesLabel.text=Modulos de Ingestion Seleccionados:
-ProfileSettingsPanel.title=Configuraciones del Perfil
-RunIngestSubMenu.menuItem.empty=-Vacio-
-RunIngestModulesMenu.getName.text=Ejecutar Modulos de Ingestion
-DataSourceIngestPipeline.moduleError.title.text={0} Error
-FileIngestPipeline.moduleError.title.text={0} Error
-IngestJob.cancelReason.notCancelled.text=No cancelado
-IngestJob.cancelReason.cancelledByUser.text=Cancelado por el usuario
-IngestJob.cancelReason.ingestModStartFail.text=Error al iniciar los modulos de ingestion
-IngestJob.cancelReason.outOfDiskSpace.text=Sin espacio en disco
-IngestJob.cancelReason.servicesDown.text=Servicios Desactivados
-IngestJob.cancelReason.caseClosed.text=Caso Cerrado
-IngestJobSettingsPanel.globalSettingsButton.text=Configuraciones Globales
-gest
-IngestJobSettingsPanel.globalSettingsButton.actionCommand=Avanzado
-IngestJobSettingsPanel.globalSettingsButton.text=Configuraciones Globales
-IngestJobSettingsPanel.pastJobsButton.text=Historial
-IngestJobSettingsPanel.fileIngestFilterLabel.text=Ejecutar modulos de ingestion en:
-OptionsCategory_Name_IngestOptions=Ingesta
-OptionsCategory_Keywords_IngestOptions=Ingesta
-IngestSettingsPanel.jLabelProcessTimeOutUnits.text=hora(s)
-IngestSettingsPanel.jFormattedTextFieldProcTimeOutHrs.text=60
-IngestSettingsPanel.jCheckBoxEnableProcTimeout.text=
-IngestSettingsPanel.jLabelSetProcessTimeOut.text=Habilitar temporizador para permitir que los modulos se terminen automaticamente despues de un tiempo establecido:
-IngestSettingsPanel.restartRequiredLabel.text=Para esta computadora, se debe utilizar un maximo de {0} hilos de ingestion de archivos. Es necesario reiniciar la aplicacion para que tenga efecto..
-IngestSettingsPanel.jLabelNumThreads.text=Numero de hilos a utilizar para la ingestion de archivos:
-IngestSettingsPanel.ingestWarningLabel.text=La ingestion esta en curso, algunas configuraciones no estaran disponibles hasta que termine..
-ProfileSettingsPanel.ingestWarningLabel.text=La ingestion esta en curso, algunas configuraciones no estaran disponibles hasta que termine..
diff --git a/Core/src/org/sleuthkit/autopsy/ingest/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/ingest/Bundle_es.properties
new file mode 100644
index 00000000000..94da2529751
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/ingest/Bundle_es.properties
@@ -0,0 +1,176 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CTL_RunIngestAction=Ejecutar Ingesta
+FileIngestPipeline_SaveResults_Activity=Guardando Resultados
+# {0} - data source name
+IngestJob_progress_analysisResultIngest_displayName=Analizando resultados de an\u00e1lisis de {0}
+# {0} - tier number
+# {1} - job state modifer
+IngestJobExecutor_progress_snapshot_currentTier=Nivel {0} {1}
+IngestJobExecutor_progress_snapshot_currentTier_shutDown_modifier=apagado
+IngestJobSettingsPanel.IngestModulesTableRenderer.info.message=Una versi\u00f3n anterior de este m\u00f3dulo de ingesta ya se ha ejecutado en esta fuente de datos.
+IngestJobSettingsPanel.IngestModulesTableRenderer.warning.message=Este m\u00f3dulo de ingesta ya se ha ejecutado en esta fuente de datos.
+IngestJobSettingsPanel.noPerRunSettings=El m\u00f3dulo seleccionado no tiene configuraciones por ejecuci\u00f3n.
+IngestJobSettingsPanel.pastJobsButton.action.frame.title=Historial de Ingestas
+IngestManager.startupErr.dlgErrorList=Errores:
+IngestManager.startupErr.dlgMsg=No se pudo iniciar uno o m\u00e1s m\u00f3dulos de ingesta, ingesta cancelada.
+IngestManager.startupErr.dlgSolution=Deshabilit\u00e1 los m\u00f3dulos fallidos o correg\u00ed los errores antes de reiniciar la ingesta.
+IngestManager.startupErr.dlgTitle=Fallo al Iniciar el M\u00f3dulo de Ingesta
+IngestOptionsPanel.fileFiltersTab.text=Filtros de Archivos
+IngestOptionsPanel.fileFiltersTab.toolTipText=Configuraciones para crear y editar filtros de archivos de ingesta.
+IngestOptionsPanel.profilesTab.text=Perfiles
+IngestOptionsPanel.profilesTab.toolTipText=Configuraciones para crear y editar perfiles.
+IngestOptionsPanel.settingsTab.text=Configuraciones
+IngestOptionsPanel.settingsTab.toolTipText=Configuraciones sobre los recursos disponibles para la ingesta.
+OpenIDE-Module-Name=Ingesta
+Menu/Tools/RunIngestModules=Ejecutar m\u00f3dulos de ingest\u00f3n
+CTL_IngestMessageTopComponent=Mensajes
+HINT_IngestMessageTopComponent=Ventanas de mensajes
+IngestMessageDetailsPanel.backButton.text=
+IngestMessageDetailsPanel.viewArtifactButton.text=Ir al resultado
+IngestMessageDetailsPanel.viewContentButton.text=Ir al directorio
+IngestMessagePanel.sortByLabel.text=Ordenar por:
+IngestMessagePanel.sortByComboBox.toolTipText=Ordenar mensajes por tiempo (orden cronol\u00f3gico) o prioridad del mensaje
+IngestMessageDetailsPanel.messageDetailsPane.contentType=text/html
+IngestMessageDetailsPanel.messageDetailsPane.toolTipText=
+IngestMessagesToolbar.toolTipText=
+IngestMessageDetailsPanel.copyMenuItem.text=Copiar
+IngestMessageDetailsPanel.selectAllMenuItem.text=Seleccionar todo
+IngestMessageTopComponent.displayName=Bandeja de ingest\u00f3n
+IngestMessagePanel.totalMessagesNameLabel.text=Total:
+IngestMessagePanel.totalMessagesNameVal.text=-
+IngestMessagePanel.totalUniqueMessagesNameLabel.text=\u00danicos:
+IngestMessagePanel.totalUniqueMessagesNameVal.text=-
+IngestJob.progress.dataSourceIngest.initialDisplayName=Analizando {0}
+IngestJob.progress.dataSourceIngest.displayName={0} para {1}
+IngestJob.progress.fileIngest.displayName=Analizando archivos de {0}
+IngestJob.progress.dataArtifactIngest.displayName=Analizando artefactos de datos de {0}
+IngestJob.progress.cancelling=Cancelando...
+IngestJob.cancellationDialog.title=Cancelar ingest\u00f3n
+IngestDialog.startButton.title=Iniciar
+IngestDialog.closeButton.title=Cerrar
+IngestManager.moduleErr=Error en el m\u00f3dulo
+IngestManager.moduleErr.errListenToUpdates.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar las actualizaciones del Gestor de Ingesta. Vea el registro para determinar cu\u00e1l m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+IngestMessage.toString.type.text=tipo: {0}
+IngestMessage.toString.date.text=\ fecha: {0}
+IngestMessage.toString.subject.text=\ asunto: {0}
+IngestMessage.toString.details.text=\ detalles: {0}
+IngestMessage.toString.data.text=\ datos: {0}
+IngestMessage.exception.typeSrcSubjNotNull.msg=el tipo de mensaje, origen y asunto no pueden ser nulos
+IngestMessage.exception.srcSubjNotNull.msg=el origen y el asunto no pueden ser nulos
+IngestMessage.exception.srcSubjDetailsDataNotNull.msg=el origen, asunto, detalles y datos no pueden ser nulos
+IngestMessagePanel.moduleErr=Error de M\u00f3dulo
+IngestMessagePanel.moduleErr.errListenUpdates.text=Un m\u00f3dulo caus\u00f3 un error al escuchar las actualizaciones de IngestMessagePanel. Vea el registro para determinar cu\u00e1l m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+IngestMessagePanel.MsgTableMod.colNames.module=M\u00f3dulo
+IngestMessagePanel.MsgTableMod.colNames.num=N\u00fam
+IngestMessagePanel.MsgTableMod.colNames.new=\u00bfNuevo?
+IngestMessagePanel.MsgTableMod.colNames.subject=Asunto
+IngestMessagePanel.MsgTableMod.colNames.timestamp=Marca de tiempo
+IngestMessagePanel.BooleanRenderer.exception.nonBoolVal.msg=Se intent\u00f3 usar BooleanRenderer en un valor no booleano.
+IngestMessagePanel.DateRenderer.exception.nonDateVal.text=Se intent\u00f3 usar DateRenderer en un valor que no es de tipo fecha.
+IngestMessageTopComponent.displayReport.option.OK=Aceptar
+IngestMessageTopComponent.displayReport.option.GenRpt=Generar Informe
+IngestMessageTopComponent.msgDlg.ingestRpt.text=Informe de Ingesta
+IngestMonitor.mgrErrMsg.lowDiskSpace.title=Ingesta detenida - poco espacio en disco en {0}
+IngestMonitor.mgrErrMsg.lowDiskSpace.msg=Deteniendo la ingesta debido a poco espacio en el disco {0}. \nAseg\u00farese de que la unidad del caso tenga al menos 1GB de espacio libre y reinicie la ingesta.
+IngestManager.StartIngestJobsTask.run.displayName=Iniciando ingesta
+IngestManager.StartIngestJobsTask.run.cancelling={0} (Cancelando...)
+IngestMessagePanel.sortByComboBox.model.time=Hora
+IngestMessagePanel.sortByComboBox.model.priority=Prioridad
+IngestMessagesToolbar.customizeButton.toolTipText=Mensajes de Ingesta
+IngestMessageTopComponent.initComponents.name=Bandeja de entrada de ingest\u00f3
+IngestManager.OpenEventChannel.Fail.ErrMsg=El proceso de an\u00e1lisis no pudo conectarse a otros nodos que puedan estar colaborando en el caso.
+IngestManager.OpenEventChannel.Fail.Title=Fallo de conexi\u00f3n
+IngestJobSettings.createModuleSettingsFolder.warning=No se pudo crear la carpeta de configuraci\u00f3n del m\u00f3dulo de ingest\u00f3, no se pueden guardar los ajustes.
+IngestJobSettings.missingModule.warning=No se pudo encontrar el m\u00f3dulo {0} cargado previamente.
+IngestJobSettings.save.warning=No se pudieron guardar los ajustes de trabajo de ingest\u00f3 para el m\u00f3dulo {0}.
+IngestJobSettings.moduleSettingsLoad.warning=Error al cargar los ajustes de trabajo de ingest\u00f3 para el m\u00f3dulo {0} en el contexto {1}, usando valores por defecto.
+IngestJobSettings.moduleSettingsSave.warning=Error al guardar los ajustes de trabajo de ingest\u00f3 para el m\u00f3dulo {0} en el contexto {1}.
+IngestProgressSnapshotDialog.title.text=Instant\u00e1nea de progreso de ingest\u00f3
+IngestProgressSnapshotPanel.refreshButton.text=Actualizar
+IngestProgressSnapshotPanel.closeButton.text=Cerrar
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.threadID=ID de hilo
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.dataSource=Fuente de datos
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.activity=Actividad
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.file=Archivo
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.startTime=Hora de inicio
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.elapsedTime=Tiempo transcurrido (H:M:S)
+IngestManager.IngestThreadActivitySnapshot.idleThread=INACTIVO
+IngestManager.IngestMessage.ErrorMessageLimitReached.subject=Errores m\u00e1ximos publicados
+IngestManager.IngestMessage.ErrorMessageLimitReached.msg=Se alcanz\u00f3 el n\u00famero m\u00e1ximo ({0}) de mensajes de error y/o advertencia publicados. Ver el registro para errores/advertencias adicionales (Ayuda -> Abrir carpeta de registros).
+IngestManager.IngestMessage.ErrorMessageLimitReached.title=Gestor de ingest\u00f3
+IngestModuleFactoryLoader.errorMessages.duplicateDisplayName=Se encontr\u00f3 un m\u00f3dulo llamado {0}, duplicando el nombre de otro m\u00f3dulo, no se utilizar\u00e1.
+DataSourceIngestCancellationPanel.cancelCurrentModuleRadioButton.text=Cancelar solo el m\u00f3dulo de ingest\u00f3 actual
+FileIngestCancellationPanel.cancelIngestJobRadioButton.text=Cancelar ingest\u00f3 de fuente de datos y de archivos
+FileIngestCancellationPanel.cancelFileIngestRadioButton.text=Cancelar solo ingest\u00f3 de archivos
+DataSourceIngestCancellationPanel.cancelAllModulesRadioButton.text=Cancelar todos los m\u00f3dulos de ingest\u00f3
+IngestProgressSnapshotPanel.SnapshotsTableModel.colNames.jobID=ID del trabajo
+IngestJobTableModel.colName.jobID=ID del trabajo
+IngestJobTableModel.colName.dataSource=Fuente de datos
+IngestJobTableModel.colName.start=Inicio
+IngestJobTableModel.colName.tier=Nivel
+IngestJobTableModel.colName.numProcessed=Archivos procesados
+IngestJobTableModel.colName.filesPerSec=Archivos/Seg
+IngestJobTableModel.colName.inProgress=En curso
+IngestJobTableModel.colName.filesQueued=Archivos en cola
+IngestJobTableModel.colName.dirQueued=Directorios en cola
+IngestJobTableModel.colName.rootQueued=Ra\u00edces en cola
+IngestJobTableModel.colName.streamingQueued=Archivos transmitidos en cola
+IngestJobTableModel.colName.dsQueued=FD en cola
+IngestJobTableModel.colName.artifactsQueued=Artefactos en cola
+IngestJobTableModel.colName.resultsQueued=Resultados en cola
+ModuleTableModel.colName.module=M\u00f3dulo
+ModuleTableModel.colName.duration=Duraci\u00f3n
+IngestJobSettingsPanel.jButtonSelectAll.text=Seleccionar todo
+IngestJobSettingsPanel.jButtonDeselectAll.text=Deseleccionar todo
+IngestManager.cancellingIngest.msgDlg.text=Cancelando todos los trabajos de ingest\u00f3 en ejecuci\u00f3n
+IngestManager.serviceIsDown.msgDlg.text={0} est\u00e1 fuera de servicio
+ProfilePanel.messages.profileNameContainsIllegalCharacter=El nombre del perfil contiene un caracter no permitido. Solo se permiten \nletras, d\u00edgitos y guiones bajos.
+ProfilePanel.messages.profilesMustBeNamed=El perfil de ingest\u00f3 debe tener un nombre.
+ProfilePanel.newProfileText=NuevoPerfilVac\u00edo
+ProfilePanel.profileDescLabel.text=Descripci\u00f3n:
+ProfilePanel.profileNameLabel.text=Nombre del perfil:
+ProfilePanel.title.text=Perfil
+ProfileSettingsPanel.deleteProfileButton.text=Eliminar perfil
+# {0} - profile name
+ProfileSettingsPanel.doFileSetsDialog.duplicateProfile.text=Ya existe un perfil con el nombre {0}.
+ProfileSettingsPanel.editProfileButton.text=Editar Perfil
+ProfileSettingsPanel.filterNameLabel.text=Filtro:
+ProfileSettingsPanel.infoTextArea.text=Un Perfil de Ingesta ejecuta un conjunto preconfigurado de m\u00f3dulos de ingesta en algunos o todos los archivos de una fuente de datos. Cree un perfil si ejecuta con frecuencia el mismo conjunto de m\u00f3dulos en un subconjunto de archivos.
+ProfileSettingsPanel.messages.filterLoadFailed=Error al cargar el filtro de ingesta de archivos
+ProfileSettingsPanel.newProfileButton.text=Nuevo Perfil
+ProfileSettingsPanel.profileDescLabel.text=Descripci\u00f3n del Perfil:
+ProfileSettingsPanel.profileListLabel.text=Perfiles:
+ProfileSettingsPanel.selectedModulesLabel.text=M\u00f3dulos de Ingesta Seleccionados:
+ProfileSettingsPanel.title=Configuraci\u00f3n del Perfil
+RunIngestSubMenu.menuItem.empty=-Vac\u00edo-
+RunIngestModulesMenu.getName.text=Ejecutar M\u00f3dulos de Ingesta
+DataSourceIngestPipeline.moduleError.title.text=Error de {0}
+FileIngestPipeline.moduleError.title.text=Error de {0}
+IngestJob.cancelReason.notCancelled.text=No cancelado
+IngestJob.cancelReason.cancelledByUser.text=Cancelado por el usuario
+IngestJob.cancelReason.ingestModStartFail.text=Error al iniciar los m\u00f3dulos de ingesta
+IngestJob.cancelReason.outOfDiskSpace.text=Espacio en disco insuficiente
+IngestJob.cancelReason.servicesDown.text=Servicios ca\u00eddos
+IngestJob.cancelReason.caseClosed.text=Caso cerrado
+IngestJobSettingsPanel.globalSettingsButton.text=Configuraci\u00f3n Global
+gest
+IngestJobSettingsPanel.globalSettingsButton.actionCommand=Avanzado
+IngestJobSettingsPanel.globalSettingsButton.text=Configuraci\u00f3n Global
+IngestJobSettingsPanel.pastJobsButton.text=Historial
+IngestJobSettingsPanel.fileIngestFilterLabel.text=Ejecutar m\u00f3dulos de ingesta en:
+OptionsCategory_Name_IngestOptions=Ingesta
+OptionsCategory_Keywords_IngestOptions=Ingesta
+IngestSettingsPanel.jLabelProcessTimeOutUnits.text=hora(s)
+IngestSettingsPanel.jFormattedTextFieldProcTimeOutHrs.text=60
+IngestSettingsPanel.jCheckBoxEnableProcTimeout.text=
+IngestSettingsPanel.jLabelSetProcessTimeOut.text=Habilitar tiempo l\u00edmite para permitir que los m\u00f3dulos finalicen autom\u00e1ticamente tras un tiempo determinado:
+IngestSettingsPanel.restartRequiredLabel.text=Para esta computadora, se debe usar un m\u00e1ximo de {0} hilos de ingesta de archivos. Se requiere reiniciar la aplicaci\u00f3n para que tenga efecto.
+IngestSettingsPanel.jLabelNumThreads.text=N\u00famero de hilos a usar para la ingesta de archivos:
+IngestSettingsPanel.ingestWarningLabel.text=La ingesta est\u00e1 en curso, algunas configuraciones estar\u00e1n deshabilitadas hasta que finalice.
+ProfileSettingsPanel.ingestWarningLabel.text=La ingesta est\u00e1 en curso, algunas configuraciones estar\u00e1n deshabilitadas hasta que finalice.
diff --git a/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_ar.properties
deleted file mode 100644
index 0205d3f668f..00000000000
--- a/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_ar.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-IngestModulesConfigWizardPanel.name.text=Configurar Modulos de Ingesta
-IngestProfileSelectionPanel.customSettings.description=configurar la configuracion individual del modulo en el siguiente paso del asistente
-IngestProfileSelectionPanel.customSettings.name=Configuracion Personalizada
-IngestProfileSelectionPanel.ingestSettingsButton.text=Configuracion de Ingesta
-IngestProfileSelectionPanel.profileListLabel.text=Seleccionar Perfil:
-IngestProfileWizardPanel.panelName=Seleccion de Perfil de Ingesta
-RunIngestModulesAction.actionPerformed.errorMessage=Error al consultar la base de datos del caso para el elemento seleccionado.
-RunIngestModulesAction.name=Ejecutar Modulos de Ingesta
diff --git a/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_es.properties
new file mode 100644
index 00000000000..7d2399225bb
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/ingest/runIngestModuleWizard/Bundle_es.properties
@@ -0,0 +1,15 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+IngestModulesConfigWizardPanel.name.text=Configurar M\u00f3dulos de Ingesta
+IngestProfileSelectionPanel.customSettings.description=configurar la configuraci\u00f3n individual del m\u00f3dulo en el siguiente paso del asistente
+IngestProfileSelectionPanel.customSettings.name=Configuraci\u00f3n Personalizada
+IngestProfileSelectionPanel.ingestSettingsButton.text=Configuraci\u00f3n de Ingesta
+IngestProfileSelectionPanel.profileListLabel.text=Seleccionar Perfil:
+IngestProfileWizardPanel.panelName=Selecci\u00f3n de Perfil de Ingesta
+RunIngestModulesAction.actionPerformed.errorMessage=Error al consultar la base de datos del caso para el elemento seleccionado.
+RunIngestModulesAction.name=Ejecutar M\u00f3dulos de Ingesta
diff --git a/Core/src/org/sleuthkit/autopsy/livetriage/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/livetriage/Bundle_ar.properties
deleted file mode 100644
index 71b3cec19ee..00000000000
--- a/Core/src/org/sleuthkit/autopsy/livetriage/Bundle_ar.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-CopyFilesWorker.done.text=Finalizacion de la creacion del disco de evaluacion en tiempo real
-CopyFilesWorker.error.text=Error al copiar los archivos de evaluacion en tiempo real
-CreateLiveTriageDriveAction.appPathError.message=No se pudo ubicar el directorio de la aplicacion
-CreateLiveTriageDriveAction.batchFileError.message=Error al crear el archivo por lotes
-CreateLiveTriageDriveAction.copyError.message=No se puede copiar la aplicacion. Solo funciona en la version instalada.
-CreateLiveTriageDriveAction.error.title=Error al crear el disco de evaluacion en tiempo real
-CreateLiveTriageDriveAction.exenotfound.message=No se pudo encontrar el ejecutable
-# {0} - drivePath
-CreateLiveTriageDriveAction.progressBar.text=Copiando los archivos de evaluacion en tiempo real a {0}
-CreateLiveTriageDriveAction.progressBar.title=Por favor espera
-CreateLiveTriageDriveAction.success.message=Disco de evaluacion en tiempo real creado. Usa RunFromUSB.bat para ejecutar la aplicacion
-CreateLiveTriageDriveAction.success.title=Exito
-CTL_CreateLiveTriageDriveAction=Crear Disco de Evaluacion en Tiempo Real
-SelectDriveDialog.bnOk.text=Aceptar
-SelectDriveDialog.bnRefresh.text=Actualizar
-SelectDriveDialog.diskTable.column1.title=Nombre del Disco
-SelectDriveDialog.diskTable.column2.title=Tamanio del Disco
-SelectDriveDialog.errLabel.disksNotDetected.text=No se detectaron discos. En algunos sistemas se requieren privilegios de administrador
-SelectDriveDialog.errLabel.disksNotDetected.toolTipText=No se detectaron discos.
-SelectDriveDialog.lbSelectDrive.text=Selecciona la unidad para copiar la aplicacion y el script:
-SelectDriveDialog.errorLabel.text=jLabel2
-SelectDriveDialog.bnCancel.text=Cancelar
-SelectDriveDialog.descriptionTextArea.text=Esta funcion copia la aplicacion y un archivo por lotes en una unidad extraible,\npermitiendo analizar sistemas sin instalar el software o\nhacer una imagen de las unidades.\n\nPara analizar un sistema, inserta la unidad y ejecuta "RunFromUSB.bat" como\nadministrador, luego selecciona la opcion "Disco Local" en el panel Agregar Fuente de Datos.
-SelectDriveDialog.localDiskModel.loading.msg=
-SelectDriveDialog.localDiskModel.nodrives.msg=No se pudo encontrar el ejecutable
-SelectDriveDialog.selectDriveLabel.text=Selecciona la unidad para usar en la evaluacion en tiempo real (puede tardar en cargar):
-SelectDriveDialog.title=Crear Disco de Evaluacion en Tiempo Real
diff --git a/Core/src/org/sleuthkit/autopsy/livetriage/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/livetriage/Bundle_es.properties
new file mode 100644
index 00000000000..aa0301c221c
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/livetriage/Bundle_es.properties
@@ -0,0 +1,34 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CopyFilesWorker.done.text=Finaliz\u00f3 la creaci\u00f3n del disco de triaje en vivo
+CopyFilesWorker.error.text=Error al copiar los archivos de triaje en vivo
+CreateLiveTriageDriveAction.appPathError.message=No se pudo encontrar el directorio de la aplicaci\u00f3n
+CreateLiveTriageDriveAction.batchFileError.message=Error al crear el archivo por lotes
+CreateLiveTriageDriveAction.copyError.message=No se pudo copiar la aplicaci\u00f3n. Solo funciona en la versi\u00f3n instalada.
+CreateLiveTriageDriveAction.error.title=Error al crear el disco de triaje en vivo
+CreateLiveTriageDriveAction.exenotfound.message=No se pudo encontrar el ejecutable
+# {0} - drivePath
+CreateLiveTriageDriveAction.progressBar.text=Copiando archivos de triaje en vivo a {0}
+CreateLiveTriageDriveAction.progressBar.title=Por favor espere
+CreateLiveTriageDriveAction.success.message=Disco de triaje en vivo creado. Use RunFromUSB.bat para ejecutar la aplicaci\u00f3n
+CreateLiveTriageDriveAction.success.title=\u00c9xito
+CTL_CreateLiveTriageDriveAction=Crear disco de triaje en vivo
+SelectDriveDialog.bnOk.text=Aceptar
+SelectDriveDialog.bnRefresh.text=Actualizar
+SelectDriveDialog.diskTable.column1.title=Nombre del disco
+SelectDriveDialog.diskTable.column2.title=Tama\u00f1o del disco
+SelectDriveDialog.errLabel.disksNotDetected.text=No se detectaron discos. En algunos sistemas se requieren privilegios de administrador
+SelectDriveDialog.errLabel.disksNotDetected.toolTipText=No se detectaron discos.
+SelectDriveDialog.lbSelectDrive.text=Seleccione la unidad a la que copiar la aplicaci\u00f3n y el script:
+SelectDriveDialog.errorLabel.text=jLabel2
+SelectDriveDialog.bnCancel.text=Cancelar
+SelectDriveDialog.descriptionTextArea.text=Esta funci\u00f3n copia la aplicaci\u00f3n y un archivo por lotes a una unidad extra\u00edble,\nlo que permite analizar sistemas sin instalar el software ni\nhacer una imagen de los discos.\n\nPara analizar un sistema, inserte la unidad y ejecute "RunFromUSB.bat" como\nadministrador, luego seleccione la opci\u00f3n "Disco local" en el panel Agregar fuente de datos.
+SelectDriveDialog.localDiskModel.loading.msg=
+SelectDriveDialog.localDiskModel.nodrives.msg=No se pudo encontrar el ejecutable
+SelectDriveDialog.selectDriveLabel.text=Seleccione la unidad para usar en el triaje en vivo (puede tardar en cargar):
+SelectDriveDialog.title=Crear disco de triaje en vivo
diff --git a/Core/src/org/sleuthkit/autopsy/logicalimager/configuration/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/logicalimager/configuration/Bundle_ar.properties
deleted file mode 100644
index 1cb5af949e3..00000000000
--- a/Core/src/org/sleuthkit/autopsy/logicalimager/configuration/Bundle_ar.properties
+++ /dev/null
@@ -1,204 +0,0 @@
-ConfigureLogicalImagerDialog.loadButton.text=Cargar
-ConfigureLogicalImagerDialog.newButton.text=Nuevo
-ConfigureLogicalImagerDialog.title=Configurar Imagen Logica
-ConfigureLogicalImagerDialog.saveButton.text=Guardar
-ConfigureLogicalImagerDialog.configFile.text=
-ConfigureLogicalImagerDialog.configFile.toolTipText=
-ConfigureLogicalImagerDialog.jLabel1.text=Conjunto de Reglas:
-ConfigureLogicalImagerDialog.finalizeImageWriter.text=Finalizar Escritor de Imagenes
-ConfigureLogicalImagerDialog.newRuleButton.text=Nueva Regla
-ConfigureLogicalImagerDialog.editRuleButton.text=Editar Regla
-ConfigureLogicalImagerDialog.deleteRuleButton.text=Eliminar Regla
-ConfigureLogicalImagerDialog.jLabel2.text=Detalles de la Regla
-ConfigureLogicalImagerDialog.shouldSaveCheckBox.text=Guardar
-ConfigureLogicalImagerDialog.shouldAlertCheckBox.text=Alertar
-ConfigureLogicalImagerDialog.jLabel3.text=Extensiones:
-ConfigureLogicalImagerDialog.extensionsTextField.text=
-ConfigureLogicalImagerDialog.filenamesLabel.text=Nombres de Archivos:
-ConfigureLogicalImagerDialog.folderNamesLabel.text=Nombres de Carpetas:
-ConfigureLogicalImagerDialog.jLabel4.text=Tamanio del Archivo:
-ConfigureLogicalImagerDialog.daysIncludedLabel.text=dia(s)
-ConfigureLogicalImagerDialog.daysIncludedTextField.text=
-ConfigureLogicalImagerDialog.modifiedDateLabel.text=Modificado Dentro de:
-ConfigureLogicalImagerDialog.fullPathsLabel.text=Rutas Completas:
-ConfigureLogicalImagerDialog.flagEncryptionProgramsCheckBox.text=Detectar programas de cifrado
-ConfigVisualPanel1.chooseFileTitle=Seleccionar una configuracion de Imagen Logica
-# {0} - filename
-ConfigVisualPanel1.configFileIsEmpty=El archivo de configuracion {0} esta vacio
-ConfigVisualPanel1.configurationError=Error de configuracion
-# {0} - root
-# {1} - description
-# {2} - size with unit
-# {3} - file system
-ConfigVisualPanel1.driveListItem={0} ({1}) ({2}) - Sistema de archivos: {3}
-ConfigVisualPanel1.fileNameExtensionFilter=Archivo JSON de Configuracion
-ConfigVisualPanel1.invalidConfigJson=JSON de configuracion no valido:
-ConfigVisualPanel1.messageLabel.noExternalDriveFound=No se encontro la unidad
-ConfigVisualPanel1.selectConfigurationFile=Seleccionar ubicacion
-ConfigVisualPanel1.unknown=Desconocido
-ConfigVisualPanel2.cancel=Cancelar
-ConfigVisualPanel2.deleteRuleSet=Eliminar regla
-ConfigVisualPanel2.deleteRuleSetConfirmation=Confirmacion de eliminacion de regla
-ConfigVisualPanel2.editConfiguration=Configurar Imagen Logica
-ConfigVisualPanel2.editRuleError=Error al editar la regla
-ConfigVisualPanel2.editRuleSet=Editar Regla
-ConfigVisualPanel2.newRule.name=Nueva Regla
-# {0} - ruleName
-ConfigVisualPanel2.newRuleError.duplicateName=Ya existe una regla con el nombre "{0}". Por favor, ingresa un nombre de regla diferente.
-ConfigVisualPanel2.newRuleError.title=Error de nueva regla
-ConfigVisualPanel2.ok=Aceptar
-ConfigVisualPanel2.rulesTable.columnModel.title0=Nombre de la Regla
-ConfigVisualPanel2.rulesTable.columnModel.title1=Descripcion
-ConfigVisualPanel3.copyStatus.error=No se pudo guardar el archivo
-ConfigVisualPanel3.copyStatus.notSaved=El archivo no ha sido guardado
-ConfigVisualPanel3.copyStatus.saved=Guardado
-ConfigVisualPanel3.copyStatus.savingInProgress=Guardando el archivo, por favor espera
-# {0} - configurationLocation
-ConfigVisualPanel3.description.text=Presiona Guardar para escribir la herramienta de imagen y el archivo de configuracion en la ubicacion.\nDestino: {0}
-ConfigVisualPanel3.errorMsg.cannotFindLogicalImager=No se pudo encontrar el Imagen Logica, no se puede copiar al destino
-# {0} - configFilename
-ConfigVisualPanel3.failedToSaveConfigMsg=Error al guardar el archivo de configuracion: {0}
-ConfigVisualPanel3.failedToSaveExeMsg=Error al guardar el archivo tsk_logical_imager.exe
-# {0} - reason
-ConfigVisualPanel3.reason=\nRazon: {0}
-ConfigVisualPanel3.saveConfigurationFile=Guardar Imagen Logica
-CreateLogicalImagerAction.title=Crear Imagen Logica
-CTL_CreateLogicalImagerAction=Crear Imagen Logica
-EditFullPathsRulePanel.example=Ejemplo:
-EditFullPathsRulePanel.fullPaths=Rutas Completas
-EditNonFullPathsRulePanel.emptyExtensionException=Las extensiones no pueden estar vacias
-EditNonFullPathsRulePanel.example=Ejemplo:
-EditNonFullPathsRulePanel.fileNames=Nombres de Archivos
-EditNonFullPathsRulePanel.folderNames=Nombres de Carpetas
-# {0} - message
-EditNonFullPathsRulePanel.maxFileSizeMustBeNumberException=El tamanio maximo del archivo debe ser un numero: {0}
-EditNonFullPathsRulePanel.maxFileSizeNotPositiveException=El tamanio maximo del archivo debe ser positivo
-# {0} - maxFileSize
-# {1} - minFileSize
-EditNonFullPathsRulePanel.maxFileSizeSmallerThanMinException=El tamanio maximo del archivo: {0} bytes debe ser mayor que el tamanio minimo del archivo: {1} bytes
-# {0} - message
-EditNonFullPathsRulePanel.minFileSizeMustBeNumberException=El tamanio minimo del archivo debe ser un numero: {0}
-EditNonFullPathsRulePanel.minFileSizeNotPositiveException=El tamanio minimo del archivo debe ser positivo
-# {0} - message
-EditNonFullPathsRulePanel.modifiedDaysMustBeNumberException=Los dias modificados deben ser un numero: {0}
-EditNonFullPathsRulePanel.modifiedDaysNotPositiveException=Los dias modificados deben ser positivos
-EditNonFullPathsRulePanel.units.bytes=Bytes
-EditNonFullPathsRulePanel.units.gigabytes=Gigabytes
-EditNonFullPathsRulePanel.units.kilobytes=Kilobytes
-EditNonFullPathsRulePanel.units.megabytes=Megabytes
-# {0} - fieldName
-EditRulePanel.blankLineException={0} no puede estar en blanco
-EditRulePanel.emptyRuleName.message=El nombre de la regla no puede estar vacio.
-# {0} - ruleName
-EditRulePanel.reservedRuleName.message=El nombre de la regla "{0}" esta reservado para ser utilizado con una regla predefinida
-EditRulePanel.shouldAlertCheckBox.text=Alertar en la consola de la imagen si la regla coincide
-EditRulePanel.shouldSaveCheckBox.text=Extraer el archivo si coincide con una regla
-EditRulePanel.fullPathsLabel.text=Rutas completas:
-EditRulePanel.daysIncludedLabel.text=dia(s)
-EditRulePanel.daysIncludedTextField.text=
-EditRulePanel.modifiedDateLabel.text=Modificado dentro de:
-EditRulePanel.folderNamesLabel.text=Nombres de carpetas:
-EditRulePanel.filenamesLabel.text=Nombres de archivos:
-EditRulePanel.extensionsTextField.text=
-ConfigureLogicalImagerDialog.jLabel5.text=Nombre de la Regla:
-ConfigureLogicalImagerDialog.jLabel6.text=Descripcion:
-ConfigureLogicalImagerDialog.ruleNameEditTextField.text=
-ConfigureLogicalImagerDialog.descriptionEditTextField.text=
-ConfigureLogicalImagerDialog.fullPathsTable.columnModel.title0=
-ConfigVisualPanel1.jTextField1.text=
-ConfigVisualPanel1.jLabel1.text=Archivo de configuracion
-ConfigVisualPanel2.jCheckBox1.text=jCheckBox1
-ConfigVisualPanel2.jCheckBox2.text=jCheckBox2
-ConfigVisualPanel2.jTextField1.text=jTextField1
-ConfigVisualPanel1.jRadioButton1.text=Crear nueva configuracion
-ConfigVisualPanel1.jRadioButton2.text=Abrir configuracion existente
-ConfigVisualPanel2.modifiedDateLabel.text=Modificado dentro de:
-ConfigVisualPanel2.folderNamesLabel.text=Nombres de carpetas:
-ConfigVisualPanel2.filenamesLabel.text=Nombres de archivos:
-ConfigVisualPanel2.shouldAlertCheckBox.text=Alertar en la consola de la imagen
-ConfigVisualPanel2.shouldSaveCheckBox.text=Extraer archivo
-ConfigVisualPanel2.deleteRuleButton.text=Eliminar Regla
-ConfigVisualPanel2.editRuleButton.text=Editar Regla
-ConfigVisualPanel2.newRuleButton.text=Nueva Regla
-ConfigVisualPanel2.fullPathsLabel.text=Rutas completas:
-ConfigVisualPanel2.daysIncludedLabel.text=dia(s)
-ConfigVisualPanel2.filenamesTable.columnModel.title0=
-ConfigVisualPanel2.fileSizeLabel.text=Tamanio del archivo en bytes:
-ConfigVisualPanel2.extensionsLabel.text=Extensiones:
-ConfigVisualPanel2.descriptionLabel.text=Descripcion:
-ConfigVisualPanel2.ruleNameLabel.text=Nombre de la regla:
-ConfigVisualPanel2.ruleSetFileLabel.text=Archivo de regla de configuracion:
-EditRulePanel.ruleNameLabel.text=Conjunto de Reglas:
-EditRulePanel.descriptionTextField.text=
-EditRulePanel.extensionsLabel.text=Extensiones:
-EditRulePanel.ruleNameTextField.text=
-EditRulePanel.extensionsCheckBox.text=
-EditRulePanel.filenamesCheckBox.text=
-EditRulePanel.folderNamesCheckBox.text=
-EditRulePanel.fullPathsCheckBox.text=
-EditRulePanel.fileSizeCheckBox.text=
-EditRulePanel.minDaysCheckBox.text=
-EditRulePanel.fileSizeLabel.text=Tamanio del archivo:
-EditRulePanel.descriptionLabel.text=Descripcion:
-EditRulePanel.jTable1.columnModel.title3=Titulo 4
-EditRulePanel.jTable1.columnModel.title2=Titulo 3
-EditRulePanel.jTable1.columnModel.title1=Titulo 2
-EditRulePanel.shouldAlertCheckBox.actionCommand=
-EditFullPathsRulePanel.ruleNameLabel.text=Nombre de la regla:
-EditFullPathsRulePanel.shouldAlertCheckBox.actionCommand=
-EditFullPathsRulePanel.shouldAlertCheckBox.text=Alertar en la consola de la imagen
-EditFullPathsRulePanel.shouldSaveCheckBox.text=Extraer archivo
-EditFullPathsRulePanel.fullPathsLabel.text=Rutas completas:
-EditFullPathsRulePanel.fullPathsLabel.toolTipText=
-EditNonFullPathsRulePanel.ruleNameLabel.text=Nombre de la regla:
-EditNonFullPathsRulePanel.shouldSaveCheckBox.text=Extraer archivo
-EditNonFullPathsRulePanel.daysIncludedLabel.text=dia(s)
-EditNonFullPathsRulePanel.shouldAlertCheckBox.actionCommand=
-EditNonFullPathsRulePanel.shouldAlertCheckBox.text=Alertar en la consola de la imagen
-ConfigVisualPanel1.browseButton.text=Navegar
-ConfigVisualPanel2.fullPathsTable.columnModel.title0=
-ConfigVisualPanel2.folderNamesTable.columnModel.title0=
-ConfigVisualPanel2.shouldSaveCheckBox.toolTipText=
-ConfigVisualPanel2.maxSizeLabel.text=Maximo:
-ConfigVisualPanel2.minSizeLabel.text=Minimo:
-EditNonFullPathsRulePanel.minDaysTextField.text=jFormattedTextField1
-ConfigVisualPanel1.browseButton.toolTipText=
-EditNonFullPathsRulePanel.userFolderNote.text=Comenzar un nombre de carpeta con el token [USER_FOLDER] permitira coincidencias con todas las carpetas de usuario en el sistema de archivos.
-EditNonFullPathsRulePanel.modifiedWithinCheckbox.text=Modificado dentro de:
-EditNonFullPathsRulePanel.folderNamesCheckbox.text=Nombres de carpetas:
-EditNonFullPathsRulePanel.fileNamesCheckbox.text=Nombres de archivos:
-EditNonFullPathsRulePanel.extensionsCheckbox.text=Extensiones:
-EditNonFullPathsRulePanel.filenamesScrollPane.toolTipText=
-EditNonFullPathsRulePanel.maxSizeCheckbox.text=Tamanio maximo:
-EditNonFullPathsRulePanel.minSizeCheckbox.text=Tamanio minimo:
-EncryptionProgramsRule.encryptionProgramsRuleDescription=Encontrar programas de cifrado
-EncryptionProgramsRule.encryptionProgramsRuleName=Programas de Cifrado
-LogicalImagerConfigDeserializer.fullPathsException=Una regla con rutas completas no puede tener otras definiciones de reglas
-LogicalImagerConfigDeserializer.missingRuleSetException=Falta el conjunto de reglas.
-# {0} - key
-LogicalImagerConfigDeserializer.unsupportedKeyException=Clave no compatible: {0}
-NewRulePanel.chooseLabel.text=Elegir el tipo de regla
-ConfigVisualPanel1.configureDriveRadioButton.text_1=Configurar la unidad externa seleccionada:
-ConfigVisualPanel1.configureFolderRadioButton.text_1=Configurar en una carpeta:
-ConfigVisualPanel1.descriptionTextArea.text=Seleccionar una ubicacion para el Imagen Logica. Esta ubicacion contendra el programa de imagen y un archivo de configuracion. Si esa ubicacion ya contiene un archivo de configuracion, se cargara para editarlo. Los resultados de la imagen se guardaran en esta ubicacion, asi que asegurese de que tenga suficiente espacio libre. Las unidades con formato FAT no son compatibles..
-ConfigVisualPanel1.refreshButton.text=Actualizar
-ConfigVisualPanel3.saveButton.text=Guardar
-ConfigVisualPanel3.configLabel.text=Estado de guardado del archivo de configuracion del Imagen Logica:
-ConfigVisualPanel3.executableLabel.text=Estado de guardado del ejecutable del Imagen Logica:
-ConfigVisualPanel3.executableStatusLabel.text=
-EditFullPathsRulePanel.jLabel1.text=Descripcion (Opcional):
-EditNonFullPathsRulePanel.jLabel2.text=Las coincidencias de nombres de carpetas no distinguen mayusculas y minusculas y ocurren en cualquier lugar de la ruta.
-EditNonFullPathsRulePanel.descriptionLabel.text=Descripcion (Opcional):
-EditNonFullPathsRulePanel.jLabel1.text=Si se encuentra el archivo:
-EditFullPathsRulePanel.jLabel2.text=Si se encuentra el archivo:
-ConfigVisualPanel2.flagEncryptionProgramsCheckBox.text=Alertar si se encuentran programas de cifrado
-ConfigVisualPanel2.finalizeImageWriter.text=Continuar con la imagen despues de realizar las busquedas
-EditNonFullPathsRulePanel.fileNamesInfoLabel.text=Los nombres de archivo no distinguen mayusculas y minusculas.
-EditNonFullPathsRulePanel.extensionsInfoLabel.text=Las extensiones no distinguen mayusculas y minusculas..
-ConfigVisualPanel2.promptBeforeExit.text=Pedir confirmacion antes de salir del Imagenador
-ConfigVisualPanel2.promptBeforeExit.actionCommand=
-ConfigVisualPanel2.createVHDCheckBox.text=Crear VHD
-NewRuleSetPanel.attributeRule.description=Buscar archivos basados en uno o mas atributos o campos de metadatos.
-NewRuleSetPanel.attributeRule.name=Atributo
-NewRuleSetPanel.fullPathRule.description=Buscar archivos basados en una ruta de coincidencia exacta completa.
-NewRuleSetPanel.fullPathRule.name=Ruta Completa
diff --git a/Core/src/org/sleuthkit/autopsy/logicalimager/configuration/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/logicalimager/configuration/Bundle_es.properties
new file mode 100644
index 00000000000..bfd548e7701
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/logicalimager/configuration/Bundle_es.properties
@@ -0,0 +1,207 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ConfigureLogicalImagerDialog.loadButton.text=Cargar
+ConfigureLogicalImagerDialog.newButton.text=Nuevo
+ConfigureLogicalImagerDialog.title=Configurar Imager L\u00f3gico
+ConfigureLogicalImagerDialog.saveButton.text=Guardar
+ConfigureLogicalImagerDialog.configFile.text=
+ConfigureLogicalImagerDialog.configFile.toolTipText=
+ConfigureLogicalImagerDialog.jLabel1.text=Conjunto de Reglas:
+ConfigureLogicalImagerDialog.finalizeImageWriter.text=Finalizar Escritor de Imagen
+ConfigureLogicalImagerDialog.newRuleButton.text=Nueva Regla
+ConfigureLogicalImagerDialog.editRuleButton.text=Editar Regla
+ConfigureLogicalImagerDialog.deleteRuleButton.text=Eliminar Regla
+ConfigureLogicalImagerDialog.jLabel2.text=Detalles de la Regla
+ConfigureLogicalImagerDialog.shouldSaveCheckBox.text=Debe Guardar
+ConfigureLogicalImagerDialog.shouldAlertCheckBox.text=Debe Alertar
+ConfigureLogicalImagerDialog.jLabel3.text=Extensiones:
+ConfigureLogicalImagerDialog.extensionsTextField.text=
+ConfigureLogicalImagerDialog.filenamesLabel.text=Nombre de archivos:
+ConfigureLogicalImagerDialog.folderNamesLabel.text=Nombre de carpetas:
+ConfigureLogicalImagerDialog.jLabel4.text=Tama\u00f1o del archivo:
+ConfigureLogicalImagerDialog.daysIncludedLabel.text=d\u00eda(s)
+ConfigureLogicalImagerDialog.daysIncludedTextField.text=
+ConfigureLogicalImagerDialog.modifiedDateLabel.text=Modificado dentro de:
+ConfigureLogicalImagerDialog.fullPathsLabel.text=Rutas completas:
+ConfigureLogicalImagerDialog.flagEncryptionProgramsCheckBox.text=Marcar programas de encriptaci\u00f3n
+ConfigVisualPanel1.chooseFileTitle=Seleccionar una configuraci\u00f3n de Imager L\u00f3gico
+# {0} - filename
+ConfigVisualPanel1.configFileIsEmpty=El archivo de configuraci\u00f3n {0} est\u00e1 vac\u00edo
+ConfigVisualPanel1.configurationError=Error de configuraci\u00f3n
+# {0} - root
+# {1} - description
+# {2} - size with unit
+# {3} - file system
+ConfigVisualPanel1.driveListItem={0} ({1}) ({2}) - Sistema de archivos: {3}
+ConfigVisualPanel1.fileNameExtensionFilter=Archivo JSON de configuraci\u00f3n
+ConfigVisualPanel1.invalidConfigJson=JSON de configuraci\u00f3n inv\u00e1lido:
+ConfigVisualPanel1.messageLabel.noExternalDriveFound=No se encontr\u00f3 unidad
+ConfigVisualPanel1.selectConfigurationFile=Seleccionar ubicaci\u00f3n
+ConfigVisualPanel1.unknown=Desconocido
+ConfigVisualPanel2.cancel=Cancelar
+ConfigVisualPanel2.deleteRuleSet=Eliminar regla
+ConfigVisualPanel2.deleteRuleSetConfirmation=Confirmaci\u00f3n de eliminaci\u00f3n de regla
+ConfigVisualPanel2.editConfiguration=Configurar imagen
+ConfigVisualPanel2.editRuleError=Error al editar la regla
+ConfigVisualPanel2.editRuleSet=Editar regla
+ConfigVisualPanel2.newRule.name=Nueva regla
+ConfigVisualPanel2.newRuleError.duplicateName=Ya existe una regla con el nombre "{0}". Por favor, ingrese un nombre diferente
+ConfigVisualPanel2.newRuleError.title=Error al crear nueva regla
+ConfigVisualPanel2.ok=Aceptar
+ConfigVisualPanel2.rulesTable.columnModel.title0=Nombre de regla
+ConfigVisualPanel2.rulesTable.columnModel.title1=Descripci\u00f3n
+ConfigVisualPanel3.copyStatus.error=No se pudo guardar el archivo
+ConfigVisualPanel3.copyStatus.notSaved=El archivo no ha sido guardado
+ConfigVisualPanel3.copyStatus.saved=Guardado
+ConfigVisualPanel3.copyStatus.savingInProgress=Guardando archivo, por favor espere
+ConfigVisualPanel3.description.text=Presione Guardar para escribir la herramienta de imagen y el archivo de configuraci\u00f3n en el destino.\nDestino: {0}
+ConfigVisualPanel3.errorMsg.cannotFindLogicalImager=No se puede localizar el generador de imagen l\u00f3gica, no se puede copiar al destino
+ConfigVisualPanel3.failedToSaveConfigMsg=No se pudo guardar el archivo de configuraci\u00f3n: {0}
+ConfigVisualPanel3.failedToSaveExeMsg=No se pudo guardar el archivo tsk_logical_imager.exe
+# {0} - reason
+ConfigVisualPanel3.reason=\nRaz\u00f3n: {0}
+ConfigVisualPanel3.saveConfigurationFile=Guardar imagen
+CreateLogicalImagerAction.title=Crear Imagen L\u00f3gica
+CTL_CreateLogicalImagerAction=Crear Imagen L\u00f3gica
+EditFullPathsRulePanel.example=Ejemplo:
+EditFullPathsRulePanel.fullPaths=Rutas completas
+EditNonFullPathsRulePanel.emptyExtensionException=Las extensiones no pueden estar vac\u00edas
+EditNonFullPathsRulePanel.example=Ejemplo:
+EditNonFullPathsRulePanel.fileNames=Nombres de archivo
+EditNonFullPathsRulePanel.folderNames=Nombres de carpetas
+# {0} - message
+EditNonFullPathsRulePanel.maxFileSizeMustBeNumberException=El tama\u00f1o m\u00e1ximo de archivo debe ser un n\u00famero: {0}
+EditNonFullPathsRulePanel.maxFileSizeNotPositiveException=El tama\u00f1o m\u00e1ximo de archivo debe ser positivo
+# {0} - maxFileSize
+# {1} - minFileSize
+EditNonFullPathsRulePanel.maxFileSizeSmallerThanMinException=El tama\u00f1o m\u00e1ximo de archivo: {0} bytes debe ser mayor que el tama\u00f1o m\u00ednimo de archivo: {1} bytes
+# {0} - message
+EditNonFullPathsRulePanel.minFileSizeMustBeNumberException=El tama\u00f1o m\u00ednimo de archivo debe ser un n\u00famero: {0}
+EditNonFullPathsRulePanel.minFileSizeNotPositiveException=El tama\u00f1o m\u00ednimo de archivo debe ser positivo
+# {0} - message
+EditNonFullPathsRulePanel.modifiedDaysMustBeNumberException=Los d\u00edas modificados deben ser un n\u00famero: {0}
+EditNonFullPathsRulePanel.modifiedDaysNotPositiveException=Los d\u00edas modificados deben ser positivos
+EditNonFullPathsRulePanel.units.bytes=Bytes
+EditNonFullPathsRulePanel.units.gigabytes=Gigabytes
+EditNonFullPathsRulePanel.units.kilobytes=Kilobytes
+EditNonFullPathsRulePanel.units.megabytes=Megabytes
+# {0} - fieldName
+EditRulePanel.blankLineException={0} no puede tener una l\u00ednea en blanco
+EditRulePanel.emptyRuleName.message=El nombre de la regla no puede estar vac\u00edo
+# {0} - ruleName
+EditRulePanel.reservedRuleName.message=El nombre de la regla "{0}" est\u00e1 reservado para una regla predefinida
+EditRulePanel.shouldAlertCheckBox.text=Alertar en la consola del generador si la regla coincide
+EditRulePanel.shouldSaveCheckBox.text=Extraer archivo si coincide con una regla
+EditRulePanel.fullPathsLabel.text=Rutas completas:
+EditRulePanel.daysIncludedLabel.text=d\u00eda(s)
+EditRulePanel.daysIncludedTextField.text=
+EditRulePanel.modifiedDateLabel.text=Modificado dentro de:
+EditRulePanel.folderNamesLabel.text=Nombres de carpetas:
+EditRulePanel.filenamesLabel.text=Nombres de archivos:
+EditRulePanel.extensionsTextField.text=
+ConfigureLogicalImagerDialog.jLabel5.text=Nombre de la regla:
+ConfigureLogicalImagerDialog.jLabel6.text=Descripci\u00f3n:
+ConfigureLogicalImagerDialog.ruleNameEditTextField.text=
+ConfigureLogicalImagerDialog.descriptionEditTextField.text=
+ConfigureLogicalImagerDialog.fullPathsTable.columnModel.title0=
+ConfigVisualPanel1.jTextField1.text=
+ConfigVisualPanel1.jLabel1.text=Archivo de configuraci\u00f3n
+ConfigVisualPanel2.jCheckBox1.text=jCheckBox1
+ConfigVisualPanel2.jCheckBox2.text=jCheckBox2
+ConfigVisualPanel2.jTextField1.text=jTextField1
+ConfigVisualPanel1.jRadioButton1.text=Crear nueva configuraci\u00f3n
+ConfigVisualPanel1.jRadioButton2.text=Abrir configuraci\u00f3n existente
+ConfigVisualPanel2.modifiedDateLabel.text=Modificado dentro de:
+ConfigVisualPanel2.folderNamesLabel.text=Nombres de carpetas:
+ConfigVisualPanel2.filenamesLabel.text=Nombres de archivos:
+ConfigVisualPanel2.shouldAlertCheckBox.text=Alertar en la consola del imager
+ConfigVisualPanel2.shouldSaveCheckBox.text=Extraer archivo
+ConfigVisualPanel2.deleteRuleButton.text=Eliminar regla
+ConfigVisualPanel2.editRuleButton.text=Editar regla
+ConfigVisualPanel2.newRuleButton.text=Nueva regla
+ConfigVisualPanel2.fullPathsLabel.text=Rutas completas:
+ConfigVisualPanel2.daysIncludedLabel.text=d\u00eda(s)
+ConfigVisualPanel2.filenamesTable.columnModel.title0=
+ConfigVisualPanel2.fileSizeLabel.text=Tama\u00f1o del archivo en bytes:
+ConfigVisualPanel2.extensionsLabel.text=Extensiones:
+ConfigVisualPanel2.descriptionLabel.text=Descripci\u00f3n:
+ConfigVisualPanel2.ruleNameLabel.text=Nombre de la regla:
+ConfigVisualPanel2.ruleSetFileLabel.text=Archivo de reglas de configuraci\u00f3n:
+EditRulePanel.ruleNameLabel.text=Conjunto de reglas:
+EditRulePanel.descriptionTextField.text=
+EditRulePanel.extensionsLabel.text=Extensiones:
+EditRulePanel.ruleNameTextField.text=
+EditRulePanel.extensionsCheckBox.text=
+EditRulePanel.filenamesCheckBox.text=
+EditRulePanel.folderNamesCheckBox.text=
+EditRulePanel.fullPathsCheckBox.text=
+EditRulePanel.fileSizeCheckBox.text=
+EditRulePanel.minDaysCheckBox.text=
+EditRulePanel.fileSizeLabel.text=Tama\u00f1o del archivo:
+EditRulePanel.descriptionLabel.text=Descripci\u00f3n:
+EditRulePanel.jTable1.columnModel.title3=T\u00edtulo 4
+EditRulePanel.jTable1.columnModel.title2=T\u00edtulo 3
+EditRulePanel.jTable1.columnModel.title1=T\u00edtulo 2
+EditRulePanel.shouldAlertCheckBox.actionCommand=
+EditFullPathsRulePanel.ruleNameLabel.text=Nombre de la regla:
+EditFullPathsRulePanel.shouldAlertCheckBox.actionCommand=
+EditFullPathsRulePanel.shouldAlertCheckBox.text=Alerta en la consola del imager
+EditFullPathsRulePanel.shouldSaveCheckBox.text=Extraer archivo
+EditFullPathsRulePanel.fullPathsLabel.text=Rutas completas:
+EditFullPathsRulePanel.fullPathsLabel.toolTipText=
+EditNonFullPathsRulePanel.ruleNameLabel.text=Nombre de la regla:
+EditNonFullPathsRulePanel.shouldSaveCheckBox.text=Extraer archivo
+EditNonFullPathsRulePanel.daysIncludedLabel.text=d\u00eda(s)
+EditNonFullPathsRulePanel.shouldAlertCheckBox.actionCommand=
+EditNonFullPathsRulePanel.shouldAlertCheckBox.text=Alerta en la consola del imager
+ConfigVisualPanel1.browseButton.text=Examinar
+ConfigVisualPanel2.fullPathsTable.columnModel.title0=
+ConfigVisualPanel2.folderNamesTable.columnModel.title0=
+ConfigVisualPanel2.shouldSaveCheckBox.toolTipText=
+ConfigVisualPanel2.maxSizeLabel.text=M\u00e1ximo:
+ConfigVisualPanel2.minSizeLabel.text=M\u00ednimo:
+EditNonFullPathsRulePanel.minDaysTextField.text=jFormattedTextField1
+ConfigVisualPanel1.browseButton.toolTipText=
+EditNonFullPathsRulePanel.userFolderNote.text=Iniciar un nombre de carpeta con el token [USER_FOLDER] permitir\u00e1 coincidencias con todas las carpetas de usuario en el sistema de archivos.
+EditNonFullPathsRulePanel.modifiedWithinCheckbox.text=Modificado dentro de:
+EditNonFullPathsRulePanel.folderNamesCheckbox.text=Nombres de carpetas:
+EditNonFullPathsRulePanel.fileNamesCheckbox.text=Nombres de archivos:
+EditNonFullPathsRulePanel.extensionsCheckbox.text=Extensiones:
+EditNonFullPathsRulePanel.filenamesScrollPane.toolTipText=
+EditNonFullPathsRulePanel.maxSizeCheckbox.text=Tama\u00f1o m\u00e1ximo:
+EditNonFullPathsRulePanel.minSizeCheckbox.text=Tama\u00f1o m\u00ednimo:
+EncryptionProgramsRule.encryptionProgramsRuleDescription=Buscar programas de cifrado
+EncryptionProgramsRule.encryptionProgramsRuleName=Programas de Cifrado
+LogicalImagerConfigDeserializer.fullPathsException=Una regla con rutas completas no puede tener otras definiciones de regla
+LogicalImagerConfigDeserializer.missingRuleSetException=Conjunto de reglas faltante
+LogicalImagerConfigDeserializer.unsupportedKeyException=Clave no compatible: {0}
+NewRulePanel.chooseLabel.text=Eleg\u00ed el tipo de regla
+ConfigVisualPanel1.configureDriveRadioButton.text_1=Configurar unidad externa seleccionada:
+ConfigVisualPanel1.configureFolderRadioButton.text_1=Configurar en una carpeta:
+ConfigVisualPanel1.descriptionTextArea.text=Seleccion\u00e1 una ubicaci\u00f3n para el Imager L\u00f3gico. Esta ubicaci\u00f3n contener\u00e1 el programa de imagen y un archivo de configuraci\u00f3n. Si esa ubicaci\u00f3n ya contiene un archivo de configuraci\u00f3n, se cargar\u00e1 para editarlo. Los resultados de la imagen se guardar\u00e1n en esta ubicaci\u00f3n, as\u00ed que asegurate de que tenga suficiente espacio libre. Las unidades con formato FAT no son compatibles.
+ConfigVisualPanel1.refreshButton.text=Actualizar
+ConfigVisualPanel3.saveButton.text=Guardar
+ConfigVisualPanel3.configLabel.text=Estado de guardado del archivo de configuraci\u00f3n del Imager L\u00f3gico:
+ConfigVisualPanel3.executableLabel.text=Estado de guardado del ejecutable del Imager L\u00f3gico:
+ConfigVisualPanel3.executableStatusLabel.text=
+EditFullPathsRulePanel.jLabel1.text=Descripci\u00f3n (Opcional):
+EditNonFullPathsRulePanel.jLabel2.text=Las coincidencias de nombre de carpeta no distinguen entre may\u00fasculas y min\u00fasculas y pueden aparecer en cualquier parte de la ruta.
+EditNonFullPathsRulePanel.descriptionLabel.text=Descripci\u00f3n (Opcional):
+EditNonFullPathsRulePanel.jLabel1.text=Si se encuentra el archivo:
+EditFullPathsRulePanel.jLabel2.text=Si se encuentra el archivo:
+ConfigVisualPanel2.flagEncryptionProgramsCheckBox.text=Alertar si se encuentran programas de cifrado
+ConfigVisualPanel2.finalizeImageWriter.text=Continuar con la imagen despu\u00e9s de realizar las b\u00fasquedas
+EditNonFullPathsRulePanel.fileNamesInfoLabel.text=Los nombres de archivos no distinguen entre may\u00fasculas y min\u00fasculas.
+EditNonFullPathsRulePanel.extensionsInfoLabel.text=Las extensiones no distinguen entre may\u00fasculas y min\u00fasculas.
+ConfigVisualPanel2.promptBeforeExit.text=Preguntar antes de salir del imager
+ConfigVisualPanel2.promptBeforeExit.actionCommand=
+ConfigVisualPanel2.createVHDCheckBox.text=Crear VHD
+NewRuleSetPanel.attributeRule.description=Buscar archivos seg\u00fan uno o m\u00e1s atributos o campos de metadatos.
+NewRuleSetPanel.attributeRule.name=Atributo
+NewRuleSetPanel.fullPathRule.description=Buscar archivos seg\u00fan coincidencia exacta de ruta completa.
+NewRuleSetPanel.fullPathRule.name=Ruta Completa
diff --git a/Core/src/org/sleuthkit/autopsy/logicalimager/dsp/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/logicalimager/dsp/Bundle_ar.properties
deleted file mode 100644
index 307bc728eb2..00000000000
--- a/Core/src/org/sleuthkit/autopsy/logicalimager/dsp/Bundle_ar.properties
+++ /dev/null
@@ -1,105 +0,0 @@
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-
-AddLogicalImageTask.addImageCancelled=Agregando imagen cancelado
-# {0} - file number
-# {1} - total files
-AddLogicalImageTask.addingExtractedFile=Agregando archivos extraidos ({0}/{1})
-AddLogicalImageTask.addingExtractedFiles=Agregando archivos extraidos
-# {0} - file number
-# {1} - total files
-AddLogicalImageTask.addingInterestingFile=Agregando archivos interesantes ({0}/{1})
-AddLogicalImageTask.addingInterestingFiles=Agregando resultados de busqueda como archivos interesantes
-# {0} - file
-AddLogicalImageTask.addingToReport=Agregando {0} al informe
-# {0} - target image path
-AddLogicalImageTask.cannotFindDataSourceObjId=No se puede encontrar el obj_id en tsk_image_names para {0}
-# {0} - SearchResults.txt
-# {1} - directory
-AddLogicalImageTask.cannotFindFiles=No se puede encontrar {0} en {1}
-# {0} - src
-# {1} - dest
-AddLogicalImageTask.copyingImageFromTo=Copiando imagen desde {0} a {1}
-# {0} - sparseImageDirectory
-AddLogicalImageTask.directoryDoesNotContainSparseImage=El directorio {0} no contiene ninguna imagen
-AddLogicalImageTask.doneAddingExtractedFiles=Finalizando la adicion de archivos extraidos
-AddLogicalImageTask.doneAddingInterestingFiles=Finalizando la adicion de resultados de busqueda como archivos interesantes
-# {0} - file
-AddLogicalImageTask.doneAddingToReport=Finalizando la adicion de {0} al informe
-AddLogicalImageTask.doneCopying=Finalizando la copia
-# {0} - reason
-AddLogicalImageTask.failedToAddInterestingFiles=Error al agregar archivos interesantes: {0}
-# {0} - file
-# {1} - exception message
-AddLogicalImageTask.failedToAddReport=Error al agregar el informe {0}. Razon= {1}
-# {0} - src
-# {1} - dest
-AddLogicalImageTask.failedToCopyDirectory=Error al copiar el directorio {0} a {1}
-# {0} - reason
-AddLogicalImageTask.failedToGetTotalFilesCount=Error al obtener el recuento total de archivos: {0}
-# {0} - file
-AddLogicalImageTask.failToGetCanonicalPath=Error al obtener la ruta canonica para {0}
-AddLogicalImageTask.ingestionCancelled=Ingestion cancelada
-AddLogicalImageTask.logicalImagerResults=Resultados del Imagenador Logico
-AddLogicalImageTask.noCurrentCase=Sin caso actual
-# {0} - line number
-# {1} - fields length
-# {2} - expected length
-AddLogicalImageTask.notEnoughFields=El archivo no contiene suficientes campos en la linea {0}, se obtuvieron {1}, se esperaba {2}
-# {0} - file number
-# {1} - total files
-AddLogicalImageTask.searchingInterestingFile=Buscando archivos interesantes ({0}/{1})
-# {0} - imageFilePath
-AddMultipleImagesTask.adding=Agregando: {0}
-# {0} - file
-AddMultipleImagesTask.addingFileAsLogicalFile=Agregando: {0} como un archivo de espacio no asignado.
-AddMultipleImagesTask.cancelled=Cancelacion: Proceso de agregar imagen revertido
-# {0} - imageFilePath
-# {1} - deviceId
-# {2} - exceptionMessage
-AddMultipleImagesTask.criticalErrorAdding=Error critico al agregar {0} para el dispositivo {1}: {2}
-# {0} - imageFilePath
-# {1} - deviceId
-# {2} - exceptionMessage
-AddMultipleImagesTask.criticalErrorReverting=Error critico al revertir el proceso de agregar imagen para {0} para el dispositivo {1}: {2}
-# {0} - deviceId
-# {1} - exceptionMessage
-AddMultipleImagesTask.errorAddingImgWithoutFileSystem=Error al agregar imagenes sin sistemas de archivos para el dispositivo {0}: {1}
-AddMultipleImagesTask.fsTypeUnknownErr=No se puede determinar el tipo de sistema de archivos
-# {0} - image path
-AddMultipleImagesTask.imageError=Error al agregar la imagen {0} a la base de datos
-# {0} - imageFilePath
-# {1} - deviceId
-# {2} - exceptionMessage
-AddMultipleImagesTask.nonCriticalErrorAdding=Error no critico al agregar {0} para el dispositivo {1}: {2}
-LogicalImagerDSProcessor.dataSourceType=Resultados del Imagenador Logico Autopsy
-LogicalImagerDSProcessor.destinationDirectoryConfirmation=Confirmacion del directorio de destino
-# {0} - directory
-LogicalImagerDSProcessor.destinationDirectoryConfirmationMsg=El folder del Imagenador Logico {0} ya existe,\n¿desea agregarlo de nuevo usando un nuevo nombre de carpeta?
-# {0} - directory
-LogicalImagerDSProcessor.directoryAlreadyExists=El directorio {0} ya existe
-# {0} - directory
-LogicalImagerDSProcessor.failToCreateDirectory=Error al crear el directorio {0}
-# {0} - imageDirPath
-LogicalImagerDSProcessor.imageDirPathNotFound={0} no encontrado.\nLa unidad USB ha sido expulsada.
-LogicalImagerDSProcessor.noCurrentCase=Sin caso actual
-LogicalImagerPanel.imageTable.columnModel.title0=Nombre del equipo
-LogicalImagerPanel.imageTable.columnModel.title1=Fecha Extraida (GMT)
-LogicalImagerPanel.imageTable.columnModel.title2=Ruta
-# {0} - sparseImageDirectory
-LogicalImagerPanel.messageLabel.directoryDoesNotContainSparseImage=El directorio {0} no contiene ninguna imagen
-# {0} - invalidFormatDirectory
-LogicalImagerPanel.messageLabel.directoryFormatInvalid=El directorio {0} no coincide con el formato Logical_Imager_HOSTNAME_yyyymmdd_HH_MM_SS
-LogicalImagerPanel.messageLabel.driveHasNoImages=La unidad no tiene imagenes
-LogicalImagerPanel.messageLabel.noExternalDriveFound=No se encontro unidad
-LogicalImagerPanel.messageLabel.noImageSelected=No se ha seleccionado ninguna imagen
-LogicalImagerPanel.messageLabel.scanningExternalDrives=Buscando unidades externas para imagenes ...
-LogicalImagerPanel.selectAcquisitionFromDriveLabel.text=Seleccionar adquisicion desde unidad
-LogicalImagerPanel.selectFromDriveLabel.text=Seleccionar Adquisicion Desde Unidad
-LogicalImagerPanel.selectDriveLabel.text=Seleccionar Unidad
-LogicalImagerPanel.selectFolderLabel.text=Carpeta Seleccionada:
-LogicalImagerPanel.manualRadioButton.text=Elegir Carpeta Manualmente
-LogicalImagerPanel.importRadioButton.text=Importar Desde Unidad Externa
-LogicalImagerPanel.browseButton.text=Examinar
-LogicalImagerPanel.refreshButton.text=Actualizar
diff --git a/Core/src/org/sleuthkit/autopsy/logicalimager/dsp/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/logicalimager/dsp/Bundle_es.properties
new file mode 100644
index 00000000000..421838b6d21
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/logicalimager/dsp/Bundle_es.properties
@@ -0,0 +1,64 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AddLogicalImageTask.addImageCancelled=Adici\u00f3n de imagen cancelada
+AddLogicalImageTask.addingExtractedFile=A\u00f1adiendo archivos extra\u00eddos ({0}/{1})
+AddLogicalImageTask.addingExtractedFiles=A\u00f1adiendo archivos extra\u00eddos
+AddLogicalImageTask.addingInterestingFile=A\u00f1adiendo archivos interesantes ({0}/{1})
+AddLogicalImageTask.addingInterestingFiles=A\u00f1adiendo resultados de b\u00fasqueda como archivos interesantes
+AddLogicalImageTask.addingToReport=A\u00f1adiendo {0} al informe
+AddLogicalImageTask.cannotFindDataSourceObjId=No se puede encontrar obj_id en tsk_image_names para {0}
+AddLogicalImageTask.cannotFindFiles=No se puede encontrar {0} en {1}
+AddLogicalImageTask.copyingImageFromTo=Copiando imagen de {0} a {1}
+AddLogicalImageTask.directoryDoesNotContainSparseImage=El directorio {0} no contiene ninguna imagen
+AddLogicalImageTask.doneAddingExtractedFiles=Finalizada la adici\u00f3n de archivos extra\u00eddos
+AddLogicalImageTask.doneAddingInterestingFiles=Finalizada la adici\u00f3n de resultados de b\u00fasqueda como archivos interesantes
+AddLogicalImageTask.doneAddingToReport=Finalizada la adici\u00f3n de {0} al informe
+AddLogicalImageTask.doneCopying=Copia finalizada
+AddLogicalImageTask.failedToAddInterestingFiles=No se pudieron a\u00f1adir archivos interesantes: {0}
+AddLogicalImageTask.failedToAddReport=No se pudo a\u00f1adir el informe {0}. Raz\u00f3n= {1}
+AddLogicalImageTask.failedToCopyDirectory=No se pudo copiar el directorio {0} a {1}
+AddLogicalImageTask.failedToGetTotalFilesCount=No se pudo obtener el recuento total de archivos: {0}
+AddLogicalImageTask.failToGetCanonicalPath=No se pudo obtener la ruta can\u00f3nica de {0}
+AddLogicalImageTask.ingestionCancelled=Ingesta cancelada
+AddLogicalImageTask.logicalImagerResults=Resultados de Logical Imager
+AddLogicalImageTask.noCurrentCase=No hay un caso actual
+AddLogicalImageTask.notEnoughFields=El archivo no contiene suficientes campos en la l\u00ednea {0}, se obtuvieron {1}, se esperaban {2}
+AddLogicalImageTask.searchingInterestingFile=Buscando archivos interesantes ({0}/{1})
+AddMultipleImagesTask.adding=A\u00f1adiendo: {0}
+AddMultipleImagesTask.addingFileAsLogicalFile=A\u00f1adiendo: {0} como archivo de espacio no asignado.
+AddMultipleImagesTask.cancelled=Cancelaci\u00f3n: proceso de adici\u00f3n de imagen revertido
+AddMultipleImagesTask.criticalErrorAdding=Error cr\u00edtico al a\u00f1adir {0} para el dispositivo {1}: {2}
+AddMultipleImagesTask.criticalErrorReverting=Error cr\u00edtico al revertir el proceso de adici\u00f3n de imagen para {0} del dispositivo {1}: {2}
+AddMultipleImagesTask.errorAddingImgWithoutFileSystem=Error al a\u00f1adir im\u00e1genes sin sistemas de archivos para el dispositivo {0}: {1}
+AddMultipleImagesTask.fsTypeUnknownErr=No se puede determinar el tipo de sistema de archivos
+AddMultipleImagesTask.imageError=Error al a\u00f1adir la imagen {0} a la base de datos
+AddMultipleImagesTask.nonCriticalErrorAdding=Error no cr\u00edtico al a\u00f1adir {0} para el dispositivo {1}: {2}
+LogicalImagerDSProcessor.dataSourceType=Resultados de Autopsy Logical Imager
+LogicalImagerDSProcessor.destinationDirectoryConfirmation=Confirmaci\u00f3n del directorio de destino
+LogicalImagerDSProcessor.destinationDirectoryConfirmationMsg=La carpeta del Logical Imager {0} ya existe,\n\u00bfdesea a\u00f1adirla de nuevo usando un nuevo nombre de carpeta?
+LogicalImagerDSProcessor.directoryAlreadyExists=El directorio {0} ya existe
+LogicalImagerDSProcessor.failToCreateDirectory=No se pudo crear el directorio {0}
+LogicalImagerDSProcessor.imageDirPathNotFound={0} no encontrado.\nLa unidad USB ha sido expulsada.
+LogicalImagerDSProcessor.noCurrentCase=No hay un caso actual
+LogicalImagerPanel.imageTable.columnModel.title0=Nombre del host
+LogicalImagerPanel.imageTable.columnModel.title1=Fecha de extracci\u00f3n (GMT)
+LogicalImagerPanel.imageTable.columnModel.title2=Ruta
+LogicalImagerPanel.messageLabel.directoryDoesNotContainSparseImage=El directorio {0} no contiene ninguna imagen
+LogicalImagerPanel.messageLabel.directoryFormatInvalid=El directorio {0} no coincide con el formato Logical_Imager_HOSTNAME_yyyymmdd_HH_MM_SS
+LogicalImagerPanel.messageLabel.driveHasNoImages=La unidad no contiene im\u00e1genes
+LogicalImagerPanel.messageLabel.noExternalDriveFound=No se encontr\u00f3 ninguna unidad
+LogicalImagerPanel.messageLabel.noImageSelected=No se seleccion\u00f3 ninguna imagen
+LogicalImagerPanel.messageLabel.scanningExternalDrives=Buscando im\u00e1genes en unidades externas ...
+LogicalImagerPanel.selectAcquisitionFromDriveLabel.text=Seleccionar adquisici\u00f3n desde la unidad
+LogicalImagerPanel.selectFromDriveLabel.text=Seleccionar adquisici\u00f3n desde la unidad
+LogicalImagerPanel.selectDriveLabel.text=Seleccionar unidad
+LogicalImagerPanel.selectFolderLabel.text=Carpeta seleccionada:
+LogicalImagerPanel.manualRadioButton.text=Seleccionar carpeta manualmente
+LogicalImagerPanel.importRadioButton.text=Importar desde unidad externa
+LogicalImagerPanel.browseButton.text=Examinar
+LogicalImagerPanel.refreshButton.text=Actualizar
diff --git a/Core/src/org/sleuthkit/autopsy/machinesettings/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/machinesettings/Bundle_ar.properties
deleted file mode 100644
index 28718f5e0ab..00000000000
--- a/Core/src/org/sleuthkit/autopsy/machinesettings/Bundle_ar.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# {0} - path
-UserMachinePreferences_validateTempDirectory_errorOnCreate_text=Hubo un error al crear el directorio temporal para la ruta: {0}
-# {0} - path
-UserMachinePreferences_validateTempDirectory_errorOnReadWrite_text=Hubo un error al leer o escribir en la ruta del directorio temporal: {0}
diff --git a/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_ar.properties
deleted file mode 100644
index 7342218ad07..00000000000
--- a/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_ar.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-DataContentDynamicMenu.contentViewers.text=Visores de contenido
-DataContentDynamicMenu.mainContentViewer.name=Principal
-OpenIDE-Module-Name=MenuActions
-DataContentDynamicMenu.menu.dataContentWin.text=Ventanas de contenido de datos
-DataContentMenu.getName.text=Menu de contenido de datos
-DataExplorerMenu.getName.text=Herramientas de explorador de datos
-DataResultMenu.menu.dataResWin.text=Ventanas de resultados de datos
-DataResultMenu.getName.text=Menu de resultados de datos
-SearchResultMenu.menu.dataRes.text=Resultados de datos
-SearchResultMenu.resultViewers.text=Visores de resultados
diff --git a/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_es.properties
new file mode 100644
index 00000000000..fe44cb932a7
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/menuactions/Bundle_es.properties
@@ -0,0 +1,17 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+DataContentDynamicMenu.contentViewers.text=Visores de contenido
+DataContentDynamicMenu.mainContentViewer.name=Principal
+OpenIDE-Module-Name=Acciones de men\u00fa
+DataContentDynamicMenu.menu.dataContentWin.text=Ventanas de contenido de datos
+DataContentMenu.getName.text=Men\u00fa de contenido de datos
+DataExplorerMenu.getName.text=Herramientas de exploraci\u00f3n de datos
+DataResultMenu.menu.dataResWin.text=Ventanas de resultados de datos
+DataResultMenu.getName.text=Men\u00fa de resultados de datos
+SearchResultMenu.menu.dataRes.text=Resultados de datos
+SearchResultMenu.resultViewers.text=Visores de resultados
diff --git a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_es.properties
similarity index 51%
rename from Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_ar.properties
rename to Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_es.properties
index 78a68d4d74c..faf15b5a1a5 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_ar.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/dataSourceIntegrity/Bundle_es.properties
@@ -1,50 +1,40 @@
-# {0} - hashName
-# {1} - calculatedHashValue
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
DataSourceIntegrityIngestModule.process.calcHashWithType=Hash {0} calculado: {1}
-# {0} - imageName
-DataSourceIntegrityIngestModule.process.calculateHashDone=Resultados del calculo de hash para {0}
-# {0} - imageName
-DataSourceIntegrityIngestModule.process.errorLoadingHashes=\ Error al cargar los hashes para la imagen {0} desde la base de datos
-# {0} - imageName
-DataSourceIntegrityIngestModule.process.errorSavingHashes=\ Error al guardar los hashes para la imagen {0} en la base de datos
-# {0} - hashName
-DataSourceIntegrityIngestModule.process.hashAlgorithmError=Error al crear el resumen del mensaje para el algoritmo {0}
+DataSourceIntegrityIngestModule.process.calculateHashDone=Resultados del c\u00e1lculo de hash de la fuente de datos para {0}
+DataSourceIntegrityIngestModule.process.errorLoadingHashes=\ Error al cargar los hashes de la imagen {0} desde la base de datos
+DataSourceIntegrityIngestModule.process.errorSavingHashes=\ Error al guardar los hashes de la imagen {0} en la base de datos
+DataSourceIntegrityIngestModule.process.hashAlgorithmError=Error al crear el mensaje resumen para el algoritmo {0}
DataSourceIntegrityIngestModule.process.hashesCalculated=\ hashes calculados
-# {0} - hashAlgorithm
-# {1} - calculatedHashValue
-# {2} - storedHashValue
-DataSourceIntegrityIngestModule.process.hashFailedForArtifact={0} verificacion del hash fallida:\n Hash calculado: {1}\n Hash almacenado: {2}\n
-# {0} - calculatedHashValue
-# {1} - storedHashValue
+DataSourceIntegrityIngestModule.process.hashFailedForArtifact=Fallo en la verificaci\u00f3n del hash {0}:\n Hash calculado: {1}\n Hash almacenado: {2}\n
DataSourceIntegrityIngestModule.process.hashList=- Hash calculado: {0}
- Hash almacenado: {1}
-# {0} - hashName
-DataSourceIntegrityIngestModule.process.hashMatch=Verificacion del hash {0} exitosa
-# {0} - hashName
-DataSourceIntegrityIngestModule.process.hashNonMatch=Verificacion del hash {0} fallida
-# {0} - imageName
-DataSourceIntegrityIngestModule.process.skipCompute=No se calcularan nuevos hashes para {0} ya que la opcion esta deshabilitada
-# {0} - imageName
-DataSourceIntegrityIngestModule.process.skipVerify=No se verificaran los hashes existentes para {0} ya que la opcion esta deshabilitada
-# {0} - imageName
-DataSourceIntegrityIngestModule.process.verificationFailure={0} fallo la verificacion de integridad
-# {0} - imageName
+DataSourceIntegrityIngestModule.process.hashMatch=Hash {0} verificado
+DataSourceIntegrityIngestModule.process.hashNonMatch=Hash {0} no verificado
+DataSourceIntegrityIngestModule.process.skipCompute=No se calcular\u00e1n nuevos hashes para {0} porque la opci\u00f3n est\u00e1 deshabilitada
+DataSourceIntegrityIngestModule.process.skipVerify=No se verificar\u00e1n los hashes existentes para {0} porque la opci\u00f3n est\u00e1 deshabilitada
+DataSourceIntegrityIngestModule.process.verificationFailure=Fall\u00f3 la verificaci\u00f3n de integridad de {0}
DataSourceIntegrityIngestModule.process.verificationSuccess=Integridad de {0} verificada
-DataSourceIntegrityIngestModule.startup.noCheckboxesSelected=Al menos una de las casillas debe estar seleccionada
+DataSourceIntegrityIngestModule.startup.noCheckboxesSelected=Se debe seleccionar al menos una de las casillas
OpenIDE-Module-Name=ewfVerify
-DataSourceIntegrityModuleFactory.moduleName.text=Integridad de la Fuente de Datos
-DataSourceIntegrityModuleFactory.moduleDesc.text=Calcula y valida los hashes de las fuentes de datos.
+DataSourceIntegrityModuleFactory.moduleName.text=Integridad de la fuente de datos
+DataSourceIntegrityModuleFactory.moduleDesc.text=Calcula y valida hashes de fuentes de datos.
DataSourceIntegrityIngestModule.process.errProcImg=Error al procesar {0}
-DataSourceIntegrityIngestModule.process.skipNonEwf=Se omiten las fuentes de datos de imagenes no pertenecientes a disco {0}
+DataSourceIntegrityIngestModule.process.skipNonEwf=Omitiendo fuente de datos de imagen que no es de disco {0}
DataSourceIntegrityIngestModule.process.noStoredHash=La imagen {0} no tiene un hash almacenado.
-DataSourceIntegrityIngestModule.process.startingImg=Comenzando {0}
+DataSourceIntegrityIngestModule.process.startingImg=Iniciando {0}
DataSourceIntegrityIngestModule.process.errReadImgAtChunk=Error al leer {0} en el fragmento {1}
DataSourceIntegrityIngestModule.shutDown.verified=\ verificado
DataSourceIntegrityIngestModule.shutDown.notVerified=\ no verificado
-DataSourceIntegrityIngestModule.shutDown.verifyResultsHeader=Resultados de verificacion de la Fuente de Datos para {0}
+DataSourceIntegrityIngestModule.shutDown.verifyResultsHeader=Resultados de la verificaci\u00f3n de la fuente de datos para {0}
DataSourceIntegrityIngestModule.shutDown.resultLi=Resultado: {0}
DataSourceIntegrityIngestModule.shutDown.calcHashLi=Hash calculado: {0}
DataSourceIntegrityIngestModule.shutDown.storedHashLi=Hash almacenado: {0}
-DataSourceIntegrityIngestSettingsPanel.computeHashesCheckbox.text=Calcular hashes de fuentes de datos si no estan presentes
-DataSourceIntegrityIngestSettingsPanel.verifyHashesCheckbox.text=Verificar hashes de fuentes de datos existentes
-DataSourceIntegrityIngestSettingsPanel.ingestSettingsLabel.text=Configuracion de Ingesta
-DataSourceIntegrityIngestSettingsPanel.noteLabel.text=Tenga en cuenta que este modulo no se ejecutara en archivos logicos
+DataSourceIntegrityIngestSettingsPanel.computeHashesCheckbox.text=Calcular hashes de la fuente de datos si no hay presentes
+DataSourceIntegrityIngestSettingsPanel.verifyHashesCheckbox.text=Verificar hashes existentes de la fuente de datos
+DataSourceIntegrityIngestSettingsPanel.ingestSettingsLabel.text=Configuraci\u00f3n de ingesta
+DataSourceIntegrityIngestSettingsPanel.noteLabel.text=Tenga en cuenta que este m\u00f3dulo no se ejecutar\u00e1 en archivos l\u00f3gicos
diff --git a/Core/src/org/sleuthkit/autopsy/modules/drones/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/drones/Bundle_ar.properties
deleted file mode 100644
index 72bd575cb27..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/drones/Bundle_ar.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-DATExtractor_process_message=Procesando archivo DAT de DJI: %s
-DATFileExtractor_Extractor_Name=Extractor de Archivos DAT
-DroneIngestModule_Description=Analiza archivos generados por algunos drones de DJI.
-DroneIngestModule_Name=Analizador de Drones DJI
-# {0} - AbstractFileName
-DroneIngestModule_process_start=Inicio del proceso para {0}
diff --git a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_ar.properties
deleted file mode 100644
index d21cddf9956..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_ar.properties
+++ /dev/null
@@ -1,52 +0,0 @@
-CannotCreateOutputFolder=No se pudo crear la carpeta de salida.
-CannotRunFileTypeDetection=No se pudo ejecutar la deteccion del tipo de archivo.
-EmbeddedFileExtractor_make_output_dir_err=Error al crear el directorio de salida del modulo para el Extractor de Archivos Empotrados.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.moduleDesc.text=Extrae archivos empotrados (doc, docx, ppt, pptx, xls, xlsx, zip, rar, arj, 7z, gzip, bzip2, tar), los programa para su ingestion y popula el arbol de directorios con ellos.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.moduleName=Extractor de Archivos Empotrados
-EmbeddedFileExtractorIngestModule.NoOpenCase.errMsg=No hay un caso abierto disponible.
-EmbeddedFileExtractorIngestModule.UnableToGetMSOfficeExtractor.errMsg=No se pudo obtener el extractor de contenido MSOfficeEmbeddedContentExtractor.
-ExtractArchiveWithPasswordAction.extractFailed.title=Error al Desempaquetar Archivos con Contraseña
-ExtractArchiveWithPasswordAction.name.text=Descomprimir contenido con contraseña
-# {0} - archiveFile
-ExtractArchiveWithPasswordAction.progress.text=Desempaquetando contenido del archivo: {0}
-ExtractArchiveWithPasswordAction.prompt.text=Ingrese la contraseña
-ExtractArchiveWithPasswordAction.prompt.title=Ingrese la contraseña
-OpenIDE-Module-Display-Category=Modulo de Ingesta
-OpenIDE-Module-Long-Description=\
- Modulo de Ingesta para la Extraccion de Archivos Empotrados\n\nEl Modulo de Ingesta para la Extraccion de Archivos Empotrados procesa archivos de documentos (como doc, docx, ppt, pptx, xls, xlsx) y archivos de tipo comprimido (como zip y otros tipos de archivos soportados por el extractor 7zip).\n\
- Los contenidos de estos archivos son extraidos y los archivos derivados se agregan nuevamente a la ingestion actual para ser procesados por los modulos de ingestion configurados.\n\
- Si el archivo derivado resulta ser un archivo de tipo comprimido, sera procesado nuevamente por el extractor 7zip, el cual procesara archivos comprimidos a niveles N.\n\n\
- Los archivos extraidos son navegables en el arbol de directorios.\n\n\
- El modulo es compatible con los sistemas operativos Windows, Linux y Mac.
-OpenIDE-Module-Name=Extraccion de Archivos Empotrados
-OpenIDE-Module-Short-Description=Modulo de Ingesta para Extraccion de Archivos Empotrados
-EmbeddedFileExtractorIngestModule.SevenZipContentReadStream.seek.exception.invalidOrigin=Origen de busqueda no valido: {0}
-EmbeddedFileExtractorIngestModule.SevenZipContentReadStream.read.exception.errReadStream=Error al leer la secuencia de contenido.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.encryptionFileLevel=Cifrado solo de contenido (Archivo comprimido)
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.init.errInitModule.details=Error al inicializar el directorio de salida: {0}: {1}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnMsg=Posible deteccion de "bomba ZIP" en el archivo: {0}, elemento: {1}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnDetails=La relacion de compresion es {0}, saltando elementos en {1}.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnMsg.zipBomb=Posible deteccion de "bomba ZIP": {0}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnDetails.zipBomb=El archivo comprimido tiene {0} niveles de profundidad, omitiendo el procesamiento de {1}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.msg=Espacio en disco insuficiente para desempaquetar el elemento del archivo: {0}, {1}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.details=El elemento del archivo comprimido es demasiado grande para desempaquetar, omitiendo el desempaquetado de este elemento.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.msg=Error al desempaquetar {0}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.details=Error al desempaquetar {0}. {1}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.msg=Archivos cifrados detectados en el archivo comprimido.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.details=Algunos archivos en el archivo comprimido: {0} estan cifrados. El extractor {1} no pudo extraer todos los archivos de este archivo.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.exception.msg=Error al escribir el archivo desempaquetado en: {0}
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackedTree.exception.msg=Error al agregar un archivo derivado a la base de datos: {0}
-EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err=No se pudo inicializar el contenedor de Doc al leer
-EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err=No se pudo inicializar el contenedor de Docx al leer: {0}
-EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err=No se pudo inicializar el contenedor de Ppt al leer: {0}
-EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err=No se pudo inicializar el contenedor de Pptx al leer: {0}
-EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err=No se pudo inicializar el contenedor de Xls al leer: {0}
-EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err=No se pudo inicializar el contenedor de Xlsx al leer: {0}
-EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg=No se pueden agregar los archivos derivados a la base de datos.
-EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.noSpace.msg=No se puede escribir el contenido en el disco. Espacio insuficiente.
-SevenZipContentReadStream.seek.exception.invalidOrigin=Origen no valido {0}
-SevenZipContentReadStream.read.exception.errReadStream=Error al leer la secuencia
-SevenZipExtractor.indexError.message=Error al indexar el artefacto con deteccion de cifrado para la busqueda de palabras clave.
-# {0} - rootArchive
-SevenZipExtractor.zipBombArtifactCreation.text=Se detecto una "bomba ZIP" {0}
-UnableToInitializeLibraries=No se pueden inicializar las bibliotecas de 7Zip.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_es.properties
new file mode 100644
index 00000000000..f95cd159728
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/embeddedfileextractor/Bundle_es.properties
@@ -0,0 +1,57 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CannotCreateOutputFolder=No se pudo crear la carpeta de salida.
+CannotRunFileTypeDetection=No se pudo ejecutar la detecci\u00f3n de tipo de archivo.
+EmbeddedFileExtractor_make_output_dir_err=Error al crear el directorio de salida del m\u00f3dulo para el Extractor de Archivos Embebidos
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.moduleDesc.text=Extrae archivos embebidos (doc, docx, ppt, pptx, xls, xlsx, zip, rar, arj, 7z, gzip, bzip2, tar), los programa para ingest\u00f3n y los agrega al \u00e1rbol de directorios.
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.moduleName=Extractor de Archivos Embebidos
+EmbeddedFileExtractorIngestModule.NoOpenCase.errMsg=No hay un caso abierto disponible.
+EmbeddedFileExtractorIngestModule.UnableToGetMSOfficeExtractor.errMsg=No se pudo obtener MSOfficeEmbeddedContentExtractor.
+ExtractArchiveWithPasswordAction.extractFailed.title=Fallo al Descomprimir Archivos, con Contrase\u00f1a
+ExtractArchiveWithPasswordAction.name.text=Descomprimir contenido con contrase\u00f1a
+ExtractArchiveWithPasswordAction.progress.text=Descomprimiendo contenido del archivo: {0}
+ExtractArchiveWithPasswordAction.prompt.text=Ingrese la contrase\u00f1a
+ExtractArchiveWithPasswordAction.prompt.title=Ingrese la contrase\u00f1a
+OpenIDE-Module-Display-Category=M\u00f3dulo de Ingesta
+OpenIDE-Module-Long-Description=\
+ M\u00f3dulo de Ingesta de Extracci\u00f3n de Archivos Embebidos\n\nEl M\u00f3dulo de Ingesta de Extracci\u00f3n de Archivos Embebidos procesa archivos de documentos (como doc, docx, ppt, pptx, xls, xlsx) y archivos comprimidos (como zip y otros tipos soportados por el extractor 7zip).\n\
+ El contenido de estos archivos se extrae y los archivos derivados se agregan a la ingesta actual para ser procesados por los m\u00f3dulos de ingesta configurados.\n\
+ Si el archivo derivado es un archivo comprimido, ser\u00e1 reprocesado por el extractor 7zip - el extractor procesar\u00e1 archivos comprimidos con m\u00faltiples niveles de profundidad.\n\n\
+ Los archivos extra\u00eddos son navegables en el \u00e1rbol de directorios.\n\n\
+ El m\u00f3dulo es compatible con sistemas operativos Windows, Linux y Mac.
+OpenIDE-Module-Name=Extracci\u00f3n de Archivos Embebidos
+OpenIDE-Module-Short-Description=M\u00f3dulo de Ingesta de Extracci\u00f3n de Archivos Embebidos
+EmbeddedFileExtractorIngestModule.SevenZipContentReadStream.seek.exception.invalidOrigin=Origen de b\u00fasqueda inv\u00e1lido: {0}
+EmbeddedFileExtractorIngestModule.SevenZipContentReadStream.read.exception.errReadStream=Error al leer el flujo de contenido.
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.encryptionFileLevel=Encriptaci\u00f3n solo del contenido (Archivo Comprimido)
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.init.errInitModule.details=Error al inicializar el directorio de salida: {0}: {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnMsg=Posible bomba ZIP detectada en el archivo: {0}, elemento: {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.isZipBombCheck.warnDetails=La relaci\u00f3n de compresi\u00f3n es {0}, omitiendo elementos en {1}.
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnMsg.zipBomb=Posible bomba ZIP detectada: {0}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.warnDetails.zipBomb=El archivo est\u00e1 comprimido con una profundidad de {0} niveles, omitiendo el procesamiento de {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.msg=Espacio en disco insuficiente para descomprimir el elemento del archivo: {0}, {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.notEnoughDiskSpace.details=El elemento del archivo es demasiado grande para descomprimir, se omite su descompresi\u00f3n.
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.msg=Error al descomprimir {0}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.errUnpacking.details=Error al descomprimir {0}. {1}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.msg=Se detectaron archivos encriptados en el archivo comprimido.
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.unpack.encrFileDetected.details=Algunos archivos en el archivo: {0} est\u00e1n encriptados. El extractor {1} no pudo extraer todos los archivos de este archivo comprimido.
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.exception.msg=Error al escribir el archivo descomprimido en: {0}
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackedTree.exception.msg=Error al agregar un archivo derivado a la base de datos:{0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.docContainer.init.err=No se pudo inicializar el contenedor de doc al leer
+EmbeddedFileExtractorIngestModule.ImageExtractor.docxContainer.init.err=No se pudo inicializar el contenedor de docx al leer: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.pptContainer.init.err=No se pudo inicializar el contenedor de ppt al leer: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.pptxContainer.init.err=No se pudo inicializar el contenedor de pptx al leer: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.xlsContainer.init.err=No se pudo inicializar el contenedor de xls al leer: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.xlsxContainer.init.err=No se pudo inicializar el contenedor de xlsx al leer: {0}
+EmbeddedFileExtractorIngestModule.ImageExtractor.extractImage.addToDB.exception.msg=No se pudieron agregar los archivos derivados a la base de datos.
+EmbeddedFileExtractorIngestModule.ArchiveExtractor.UnpackStream.write.noSpace.msg=No se pudo escribir el contenido en disco. Espacio insuficiente.
+SevenZipContentReadStream.seek.exception.invalidOrigin=Origen inv\u00e1lido {0}
+SevenZipContentReadStream.read.exception.errReadStream=Error al leer el flujo
+SevenZipExtractor.indexError.message=No se pudo indexar el artefacto detectado con encriptaci\u00f3n para la b\u00fasqueda por palabras clave.
+SevenZipExtractor.zipBombArtifactCreation.text=Bomba ZIP Detectada {0}
+UnableToInitializeLibraries=No se pudieron inicializar las bibliotecas 7Zip.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_ar.properties
deleted file mode 100644
index 2e531e646a0..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_ar.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-EncryptionDetectionDataSourceIngestModule.artifactComment.bitlocker=Se detecto cifrado Bitlocker.
-EncryptionDetectionDataSourceIngestModule.artifactComment.suspected=Cifrado sospechoso debido a alta entropia (%f).
-EncryptionDetectionDataSourceIngestModule.processing.message=Verificando imagen en busca de cifrado.
-EncryptionDetectionFileIngestModule.artifactComment.password=Se detecto proteccion por contraseña.
-EncryptionDetectionFileIngestModule.artifactComment.suspected=Cifrado sospechoso debido a alta entropia (%f).
-EncryptionDetectionFileIngestModule.getDesc.text=Busca archivos con una entropia minima especificada.
-EncryptionDetectionFileIngestModule.moduleName.text=Deteccion de cifrado
-EncryptionDetectionIngestJobSettingsPanel.minimumEntropyLabel.text=Entropia minima:
-EncryptionDetectionIngestJobSettingsPanel.minimumFileSizeLabel.text=Tamaño minimo de archivo:
-EncryptionDetectionIngestJobSettingsPanel.fileSizeMultiplesEnforcedCheckbox.text=Considerar solo tamaños de archivo que sean multiplos de 512.
-EncryptionDetectionIngestJobSettingsPanel.slackFilesAllowedCheckbox.text=Considerar archivos de espacio libre (slack space).
-EncryptionDetectionIngestJobSettingsPanel.mbLabel.text=MB
-EncryptionDetectionIngestJobSettingsPanel.detectionSettingsLabel.text=Configuracion de deteccion
-EncryptionDetectionIngestJobSettingsPanel.minimumFileSizeTextbox.text=
-EncryptionDetectionIngestJobSettingsPanel.minimumEntropyTextbox.text=
-EncryptionDetectionTools.errorMessage.minimumEntropyInput=El valor de la entropia minima debe ser un numero entre 6.0 y 8.0.
-EncryptionDetectionTools.errorMessage.minimumFileSizeInput=El valor del tamaño minimo de archivo debe ser un numero entero (en megabytes) igual o mayor a 1.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_es.properties
new file mode 100644
index 00000000000..7a0a3e30cd5
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/encryptiondetection/Bundle_es.properties
@@ -0,0 +1,24 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+EncryptionDetectionDataSourceIngestModule.artifactComment.bitlocker=Se detect\u00f3 cifrado Bitlocker.
+EncryptionDetectionDataSourceIngestModule.artifactComment.suspected=Se sospecha cifrado debido a alta entrop\u00eda (%f).
+EncryptionDetectionDataSourceIngestModule.processing.message=Verificando la imagen para detectar cifrado.
+EncryptionDetectionFileIngestModule.artifactComment.password=Se detect\u00f3 protecci\u00f3n con contrase\u00f1a.
+EncryptionDetectionFileIngestModule.artifactComment.suspected=Se sospecha cifrado debido a alta entrop\u00eda (%f).
+EncryptionDetectionFileIngestModule.getDesc.text=Busca archivos con la entrop\u00eda m\u00ednima especificada.
+EncryptionDetectionFileIngestModule.moduleName.text=Detecci\u00f3n de Cifrado
+EncryptionDetectionIngestJobSettingsPanel.minimumEntropyLabel.text=Entrop\u00eda M\u00ednima:
+EncryptionDetectionIngestJobSettingsPanel.minimumFileSizeLabel.text=Tama\u00f1o M\u00ednimo de Archivo:
+EncryptionDetectionIngestJobSettingsPanel.fileSizeMultiplesEnforcedCheckbox.text=Considerar solo archivos cuyo tama\u00f1o sea m\u00faltiplo de 512.
+EncryptionDetectionIngestJobSettingsPanel.slackFilesAllowedCheckbox.text=Considerar archivos en el espacio slack.
+EncryptionDetectionIngestJobSettingsPanel.mbLabel.text=MB
+EncryptionDetectionIngestJobSettingsPanel.detectionSettingsLabel.text=Configuraci\u00f3n de Detecci\u00f3n
+EncryptionDetectionIngestJobSettingsPanel.minimumFileSizeTextbox.text=
+EncryptionDetectionIngestJobSettingsPanel.minimumEntropyTextbox.text=
+EncryptionDetectionTools.errorMessage.minimumEntropyInput=La entrop\u00eda m\u00ednima debe ser un n\u00famero entre 6.0 y 8.0.
+EncryptionDetectionTools.errorMessage.minimumFileSizeInput=El tama\u00f1o m\u00ednimo de archivo debe ser un n\u00famero entero (en megabytes) mayor o igual a 1.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ar.properties
deleted file mode 100644
index 57262421419..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_ar.properties
+++ /dev/null
@@ -1,64 +0,0 @@
-AddFileExtensionAction.writeError.message=No se pudo escribir la configuracion de extensiones de archivo.
-CannotRunFileTypeDetection=No se puede ejecutar la deteccion del tipo de archivo.
-FileExtMismatchIngestModule.indexError.message=Error al indexar el artefacto de extension de archivo incorrecta para la busqueda por palabras clave.
-FileExtMismatchIngestModule.readError.message=No se pudo leer la configuracion.
-FileExtMismatchSettingsPanel.Title=Configuracion Global de Identificacion de Extensiones de Archivo Incorrectas
-OpenIDE-Module-Name=FileExtMismatch
-OptionsCategory_Name_FileExtMismatchOptions=Extensiones de Archivo Incorrectas
-OptionsCategory_FileExtMismatch=Extensiones de Archivo Incorrectas
-AddFileExtensionAction.msgDlg.msg2=No se pudo leer la configuracion de las extensiones de archivo incorrectas, no esta disponible la actualizacion de extensiones.
-AddFileExtensionAction.msgDlg.title=Error al Agregar Extension Incorrecta
-AddFileExtensionAction.extHeaderLbl.text=Extensiones Permitidas para
-FileExtMismatchConfigPanel.store.msg=Guardado.
-FileExtMismatchConfigPanel.store.msgDlg.msg=No se pudo guardar la configuracion de las extensiones de archivo incorrectas.
-FileExtMismatchConfigPanel.save.msgDlg.title=Error al Guardar
-FileExtMismatchConfigPanel.ok.confDlg.msg=¿Deseas guardar los cambios de configuracion?
-FileExtMismatchConfigPanel.confDlg.title=Cambios sin Guardar
-FileExtMismatchConfigPanel.mimeTableModel.colName=Tipo MIME
-FileExtMismatchConfigPanel.extTableModel.colName=Extension
-FileExtMismatchContextMenuActionsProvider.menuItemStr=Agregar extension {0} como tipo MIME coincidente {1}
-FileExtMismatchIngestModule.moduleName=Detector de Extensiones de Archivo Incorrectas
-FileExtMismatchIngestModule.moduleDesc.text=Marca los archivos que tienen una extension no estandar basada en su tipo de archivo.
-FileExtMismatchIngestModule.complete.totalProcTime=Tiempo Total de Procesamiento
-FileExtMismatchIngestModule.complete.totalFiles=Total de Archivos Procesados
-FileExtMismatchIngestModule.complete.svcMsg.text=Resultados de Extensiones de Archivo Incorrectas
-FileExtMismatchOptionsPanelController.moduleErr=Error del Modulo
-FileExtMismatchOptionsPanelController.moduleErr.msg=Un modulo ha causado un error al escuchar las actualizaciones del Controlador de Opciones de Extensiones de Archivo Incorrectas. Consulta el registro para determinar que modulo. Algunos datos podrian estar incompletos.
-FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text=Omitir archivos sin extensiones
-FileExtMismatchSettingsPanel.extHeaderLabel.text=Extensiones Permitidas:
-FileExtMismatchSettingsPanel.removeExtButton.text=Eliminar Extension
-FileExtMismatchDetectorModuleFactory.getIngestJobSettingsPanel.exception.msg=Se esperaba que el argumento de configuracion fuera una instancia de FileExtMismatchDetectorModuleSettings
-FileExtMismatchDetectorModuleFactory.createFileIngestModule.exception.msg=Se esperaba que el argumento de configuracion fuera una instancia de FileExtMismatchDetectorModuleSettings
-FileExtMismatchModuleSettingsPanel.skipKnownFiles.text=Omitir archivos conocidos
-FileExtMismatchSettingsPanel.removeTypeButton.text=Eliminar Tipo
-FileExtMismatchSettingsPanel.newTypeButton.text=Nuevo Tipo
-FileExtMismatchSettingsPanel.jLabel1.text=Tipos de Archivo:
-FileExtMismatchSettingsPanel.newExtButton.text=Nueva Extension
-FileExtMismatchSettingsPanel.newMimePrompt.message=Agregar un nuevo tipo de archivo MIME:
-FileExtMismatchSettingsPanel.newMimePrompt.title=Nuevo MIME
-FileExtMismatchSettingsPanel.newMimePrompt.emptyMime.message=El texto del tipo MIME esta vacio\.
-FileExtMismatchSettingsPanel.newMimePrompt.emptyMime.title=Tipo vacio
-FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotSupported.message=¡Tipo MIME no soportado\!
-FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotSupported.title=Tipo no soportado
-FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeExists.message=¡El tipo MIME ya existe\!
-FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeExists.title=Tipo ya existe
-FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotDetectable.message=El tipo MIME no es detectable por este modulo.
-FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotDetectable.title=Tipo no detectable
-FileExtMismatchSettingsPanel.removeTypeButton.noneSelected.message=¡Ningun tipo MIME seleccionado\!
-FileExtMismatchSettingsPanel.removeTypeButton.noneSelected.title=Ningun tipo seleccionado
-FileExtMismatchSettingsPanel.newExtPrompt.message=Agregar una extension permitida:
-FileExtMismatchSettingsPanel.newExtPrompt.title=Nueva extension permitida
-FileExtMismatchSettingsPanel.newExtPrompt.empty.message=¡El texto de la extension esta vacio\!
-FileExtMismatchSettingsPanel.newExtPrompt.empty.title=Texto de extension vacio
-FileExtMismatchSettingsPanel.newExtPrompt.noMimeType.message=¡Ningun tipo MIME seleccionado\!
-FileExtMismatchSettingsPanel.newExtPrompt.noMimeType.title=Ningun tipo MIME seleccionado
-FileExtMismatchSettingsPanel.newExtPrompt.extExists.message=¡La extension ya existe\!
-FileExtMismatchSettingsPanel.newExtPrompt.extExists.title=Extension ya existe
-FileExtMismatchSettingsPanel.removeExtButton.noneSelected.message=¡Ninguna extension seleccionada\!
-FileExtMismatchSettingsPanel.removeExtButton.noneSelected.title=Ninguna extension seleccionada
-FileExtMismatchSettingsPanel.removeExtButton.noMimeTypeSelected.message=¡Ningun tipo MIME seleccionado\!
-FileExtMismatchSettingsPanel.removeExtButton.noMimeTypeSelected.title=Ningun tipo MIME seleccionado
-FileExtMismatchSettingsPanel.removeTypeButton.toolTipText=
-FileExtMismatchModuleSettingsPanel.checkAllRadioButton.text=Verificar todos los tipos de archivo
-FileExtMismatchModuleSettingsPanel.checkNoTextRadioButton.text=Verificar todos los tipos de archivo excepto los archivos de texto
-FileExtMismatchModuleSettingsPanel.checkMediaExeRadioButton.text=Verificar solo archivos multimedia y ejecutables
diff --git a/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_es.properties
new file mode 100644
index 00000000000..35bb848dc66
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/fileextmismatch/Bundle_es.properties
@@ -0,0 +1,71 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AddFileExtensionAction.writeError.message=No se pudo guardar la configuraci\u00f3n de extensiones de archivo.
+CannotRunFileTypeDetection=No se pudo ejecutar la detecci\u00f3n de tipo de archivo.
+FileExtMismatchIngestModule.indexError.message=Error al indexar el artefacto de incompatibilidad de extensi\u00f3n de archivo para la b\u00fasqueda por palabra clave.
+FileExtMismatchIngestModule.readError.message=No se pudo leer la configuraci\u00f3n.
+FileExtMismatchSettingsPanel.Title=Configuraci\u00f3n global de identificaci\u00f3n de incompatibilidad de extensi\u00f3n de archivo
+OpenIDE-Module-Name=FileExtMismatch
+OptionsCategory_Name_FileExtMismatchOptions=Incompatibilidad de extensi\u00f3n de archivo
+OptionsCategory_FileExtMismatch=Incompatibilidad de extensi\u00f3n de archivo
+AddFileExtensionAction.msgDlg.msg2=No se pudo leer la configuraci\u00f3n de incompatibilidad de extensi\u00f3n de archivo, actualizaci\u00f3n de extensiones no disponible.
+AddFileExtensionAction.msgDlg.title=Error al agregar extensi\u00f3n incompatible
+AddFileExtensionAction.extHeaderLbl.text=Extensiones permitidas para
+FileExtMismatchConfigPanel.store.msg=Guardado.
+FileExtMismatchConfigPanel.store.msgDlg.msg=No se pudo guardar la configuraci\u00f3n de incompatibilidad de extensi\u00f3n de archivo.
+FileExtMismatchConfigPanel.save.msgDlg.title=Error al guardar
+FileExtMismatchConfigPanel.ok.confDlg.msg=\u00bfDesea guardar los cambios de configuraci\u00f3n?
+FileExtMismatchConfigPanel.confDlg.title=Cambios no guardados
+FileExtMismatchConfigPanel.mimeTableModel.colName=Tipo MIME
+FileExtMismatchConfigPanel.extTableModel.colName=Extensi\u00f3n
+FileExtMismatchContextMenuActionsProvider.menuItemStr=Agregar extensi\u00f3n {0} como tipo MIME coincidente {1}
+FileExtMismatchIngestModule.moduleName=Detector de incompatibilidad de extensi\u00f3n
+FileExtMismatchIngestModule.moduleDesc.text=Marca archivos que tienen una extensi\u00f3n no est\u00e1ndar basada en su tipo de archivo.
+FileExtMismatchIngestModule.complete.totalProcTime=Tiempo total de procesamiento
+FileExtMismatchIngestModule.complete.totalFiles=Total de archivos procesados
+FileExtMismatchIngestModule.complete.svcMsg.text=Resultados de incompatibilidad de extensi\u00f3n de archivo
+FileExtMismatchOptionsPanelController.moduleErr=Error del m\u00f3dulo
+FileExtMismatchOptionsPanelController.moduleErr.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar actualizaciones de FileExtMismatchOptionsPanelController. Consulte el registro para determinar cu\u00e1l m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+FileExtMismatchModuleSettingsPanel.skipNoExtCheckBox.text=Omitir archivos sin extensi\u00f3n
+FileExtMismatchSettingsPanel.extHeaderLabel.text=Extensiones permitidas:
+FileExtMismatchSettingsPanel.removeExtButton.text=Eliminar extensi\u00f3n
+FileExtMismatchDetectorModuleFactory.getIngestJobSettingsPanel.exception.msg=Se esperaba que el argumento de configuraci\u00f3n fuera una instancia de FileExtMismatchDetectorModuleSettings
+FileExtMismatchDetectorModuleFactory.createFileIngestModule.exception.msg=Se esperaba que el argumento de configuraci\u00f3n fuera una instancia de FileExtMismatchDetectorModuleSettings
+FileExtMismatchModuleSettingsPanel.skipKnownFiles.text=Omitir archivos conocidos
+FileExtMismatchSettingsPanel.removeTypeButton.text=Eliminar tipo
+FileExtMismatchSettingsPanel.newTypeButton.text=Nuevo tipo
+FileExtMismatchSettingsPanel.jLabel1.text=Tipos de archivo:
+FileExtMismatchSettingsPanel.newExtButton.text=Nueva extensi\u00f3n
+FileExtMismatchSettingsPanel.newMimePrompt.message=Agregar un nuevo tipo de archivo MIME:
+FileExtMismatchSettingsPanel.newMimePrompt.title=Nuevo MIME
+FileExtMismatchSettingsPanel.newMimePrompt.emptyMime.message=\u00a1Texto de tipo MIME vac\u00edo\!
+FileExtMismatchSettingsPanel.newMimePrompt.emptyMime.title=Tipo vac\u00edo
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotSupported.message=\u00a1Tipo MIME no compatible\!
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotSupported.title=Tipo no compatible
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeExists.message=\u00a1El tipo MIME ya existe\!
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeExists.title=Tipo ya existe
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotDetectable.message=El tipo MIME no puede ser detectado por este m\u00f3dulo.
+FileExtMismatchSettingsPanel.newMimePrompt.mimeTypeNotDetectable.title=Tipo no detectable
+FileExtMismatchSettingsPanel.removeTypeButton.noneSelected.message=\u00a1Ning\u00fan tipo MIME seleccionado\!
+FileExtMismatchSettingsPanel.removeTypeButton.noneSelected.title=Ning\u00fan tipo seleccionado
+FileExtMismatchSettingsPanel.newExtPrompt.message=Agregar una extensi\u00f3n permitida:
+FileExtMismatchSettingsPanel.newExtPrompt.title=Nueva extensi\u00f3n permitida
+FileExtMismatchSettingsPanel.newExtPrompt.empty.message=\u00a1Texto de extensi\u00f3n vac\u00edo\!
+FileExtMismatchSettingsPanel.newExtPrompt.empty.title=Texto de extensi\u00f3n vac\u00edo
+FileExtMismatchSettingsPanel.newExtPrompt.noMimeType.message=\u00a1Ning\u00fan tipo MIME seleccionado\!
+FileExtMismatchSettingsPanel.newExtPrompt.noMimeType.title=Ning\u00fan tipo MIME seleccionado
+FileExtMismatchSettingsPanel.newExtPrompt.extExists.message=\u00a1La extensi\u00f3n ya existe\!
+FileExtMismatchSettingsPanel.newExtPrompt.extExists.title=La extensi\u00f3n ya existe
+FileExtMismatchSettingsPanel.removeExtButton.noneSelected.message=\u00a1Ninguna extensi\u00f3n seleccionada\!
+FileExtMismatchSettingsPanel.removeExtButton.noneSelected.title=Ninguna extensi\u00f3n seleccionada
+FileExtMismatchSettingsPanel.removeExtButton.noMimeTypeSelected.message=\u00a1Ning\u00fan tipo MIME seleccionado\!
+FileExtMismatchSettingsPanel.removeExtButton.noMimeTypeSelected.title=Ning\u00fan tipo MIME seleccionado
+FileExtMismatchSettingsPanel.removeTypeButton.toolTipText=
+FileExtMismatchModuleSettingsPanel.checkAllRadioButton.text=Verificar todos los tipos de archivo
+FileExtMismatchModuleSettingsPanel.checkNoTextRadioButton.text=Verificar todos los tipos de archivo excepto archivos de texto
+FileExtMismatchModuleSettingsPanel.checkMediaExeRadioButton.text=Verificar solo archivos multimedia y ejecutables
diff --git a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_es.properties
similarity index 50%
rename from Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_ar.properties
rename to Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_es.properties
index 6f82c12bb9f..6ed64e3a072 100644
--- a/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_ar.properties
+++ b/Core/src/org/sleuthkit/autopsy/modules/filetypeid/Bundle_es.properties
@@ -1,57 +1,64 @@
-# {0} - nombre del tipo
-AddFileTypePanel.containsIllegalCharacter.message=Caracter invalido en el tipo MIME, se sugiere {0} en su lugar.
-AddFileTypePanel.containsIllegalCharacter.title=Caracter Invalido en el Tipo MIME
-AddFileTypePanel.mimeFormatLabel.text=El formato del tipo MIME debe ser: tipo-medio/subtipo-medio
-# {0} - subtipo-medio
-AddFileTypePanel.nonStandardMIMEType.message=El tipo MIME debe tener el formato: tipo-medio/subtipo-medio. Se sugiere Custom/{0} en su lugar.
-AddFileTypePanel.nonStandardMIMEType.title=Tipo MIME No Estandar
-AddFileTypeSignatureDialog.addButton.title=OK
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+# {0} - type name
+AddFileTypePanel.containsIllegalCharacter.message=Car\u00e1cter inv\u00e1lido en el tipo MIME, se ha sugerido {0} en su lugar
+AddFileTypePanel.containsIllegalCharacter.title=Car\u00e1cter Inv\u00e1lido en el Tipo MIME
+AddFileTypePanel.mimeFormatLabel.text=La forma del tipo MIME debe ser: tipo de medio/tipo secundario
+# {0} - media subtype
+AddFileTypePanel.nonStandardMIMEType.message=El tipo MIME debe tener la forma: tipo de medio/tipo secundario. Se ha sugerido Custom/{0} en su lugar.
+AddFileTypePanel.nonStandardMIMEType.title=Tipo MIME No Est\u00e1ndar
+AddFileTypeSignatureDialog.addButton.title=Aceptar
AddFileTypeSignatureDialog.cancelButton.title=Cancelar
-AddFileTypeSignatureDialog.invalidSignature.message=Firma invalida
+AddFileTypeSignatureDialog.invalidSignature.message=Firma inv\u00e1lida
AddFileTypeSignaturePanel.signatureStringFail.text=No se pudo obtener la cadena de firmas
-AddMimeTypeDialog.addButton.title=OK
+AddMimeTypeDialog.addButton.title=Aceptar
AddMimeTypeDialog.cancelButton.title=Cancelar
AddMimeTypedialog.title=Tipo de Archivo
-AddMimeTypePanel.emptySetName.message=Es necesario un nombre para el conjunto de archivos interesantes si se solicita una alerta.
-AddMimeTypePanel.emptySetName.title=Nombre del Conjunto de Archivos Interesantes Faltante
+AddMimeTypePanel.emptySetName.message=Se requiere un nombre para el conjunto de archivos interesantes si se solicita una alerta.
+AddMimeTypePanel.emptySetName.title=Falta el Nombre del Conjunto de Archivos Interesantes
AddMimeTypePanel.emptySigList.message=Debe tener al menos una firma.
-AddMimeTypePanel.emptySigList.title=Lista de Firmas Invalida
-CannotRunFileTypeDetection=No se puede ejecutar la deteccion del tipo de archivo.
-FileTypeIdGlobalSettingsPanel.Title=Configuracion Global de Identificacion de Tipos de Archivo
-OptionsCategory_Name_FileTypeId=Tipos de Archivos
+AddMimeTypePanel.emptySigList.title=Lista de Firmas Inv\u00e1lida
+CannotRunFileTypeDetection=No se puede ejecutar la detecci\u00f3n de tipo de archivo.
+FileTypeIdGlobalSettingsPanel.Title=Configuraci\u00f3n Global de Identificaci\u00f3n de Tipos de Archivo
+OptionsCategory_Name_FileTypeId=Tipos de Archivo
OptionsCategory_Keywords_FileTypeId=FileTypeId
OpenIDE-Module-Name=FileTypeId
-FileTypeIdIngestModule.moduleName.text=Identificacion de Tipo de Archivo
-FileTypeIdIngestModule.moduleDesc.text=Corresponde a los tipos de archivo basados en firmas binarias.
+FileTypeIdIngestModule.moduleName.text=Identificaci\u00f3n de Tipo de Archivo
+FileTypeIdIngestModule.moduleDesc.text=Coincide tipos de archivo basados en firmas binarias.
FileTypeIdIngestModule.complete.totalProcTime=Tiempo Total de Procesamiento
FileTypeIdIngestModule.complete.totalFiles=Total de Archivos Procesados
-FileTypeIdIngestModule.complete.srvMsg.text=Resultados de la Identificacion de Tipos de Archivo
-FileTypeIdModuleFactory.getIngestJobSettingsPanel.exception.msg=Se esperaba que el argumento de configuracion fuera instancia de FileTypeIdModuleSettings
-FileTypeIdModuleFactory.createFileIngestModule.exception.msg=Se esperaba que el argumento de configuracion fuera instancia de FileTypeIdModuleSettings
-FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.toolTipText=Dependiendo de cuantos archivos tengan hash conocido, marcar esta casilla mejorara la velocidad de identificacion de tipos de archivo.
-FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.text=Saltar archivos conocidos (NSRL)
+FileTypeIdIngestModule.complete.srvMsg.text=Resultados de Identificaci\u00f3n de Tipo de Archivo
+FileTypeIdModuleFactory.getIngestJobSettingsPanel.exception.msg=Se esperaba un argumento de configuraci\u00f3n de tipo FileTypeIdModuleSettings
+FileTypeIdModuleFactory.createFileIngestModule.exception.msg=Se esperaba un argumento de configuraci\u00f3n de tipo FileTypeIdModuleSettings
+FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.toolTipText=Dependiendo de cu\u00e1ntos archivos tengan hashes conocidos, marcar esta casilla mejorar\u00e1 la velocidad de identificaci\u00f3n de tipo de archivo.
+FileTypeIdIngestJobSettingsPanel.skipKnownCheckBox.text=Omitir archivos conocidos (NSRL)
FileTypeIdGlobalSettingsPanel.deleteTypeButton.text=Eliminar Tipo
FileTypeIdGlobalSettingsPanel.signatureComboBox.rawItem=Bytes (Hex)
FileTypeIdGlobalSettingsPanel.signatureComboBox.asciiItem=Cadena (ASCII)
FileTypeIdGlobalSettingsPanel.offsetComboBox.startItem=Inicio
-FileTypeIdGlobalSettingsPanel.offsetComboBox.endItem=Fin
+FileTypeIdGlobalSettingsPanel.offsetComboBox.endItem=Final
FileTypeIdGlobalSettingsPanel.JOptionPane.invalidMIMEType.message=Se requiere el tipo MIME.
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidMIMEType.title=Tipo MIME Faltante
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidMIMEType.title=Falta el Tipo MIME
FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignature.message=Se requiere la firma.
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignature.title=Firma Faltante
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.length=El desplazamiento no debe ser menor que el tamaño de la firma.
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.message=El desplazamiento debe ser un numero entero positivo.
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.title=Desplazamiento Invalido
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidRawSignatureBytes.message=La firma tiene uno o mas digitos hexadecimales invalidos.
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignatureBytes.title=Firma Invalida
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignature.title=Falta la Firma
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.length=El desplazamiento no debe ser menor que el tama\u00f1o de la firma.
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.message=El desplazamiento debe ser un n\u00famero entero positivo.
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidOffset.title=Desplazamiento Inv\u00e1lido
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidRawSignatureBytes.message=La firma contiene uno o m\u00e1s d\u00edgitos hexadecimales inv\u00e1lidos.
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidSignatureBytes.title=Firma Inv\u00e1lida
FileTypeIdGlobalSettingsPanel.JOptionPane.invalidInterestingFilesSetName.message=
-FileTypeIdGlobalSettingsPanel.JOptionPane.invalidInterestingFilesSetName.title=Nombre del Conjunto de Archivos Interesantes Faltante
+FileTypeIdGlobalSettingsPanel.JOptionPane.invalidInterestingFilesSetName.title=Falta el Nombre del Conjunto de Archivos Interesantes
FileTypeIdGlobalSettingsPanel.JOptionPane.storeFailed.title=Error al Guardar
FileTypeIdGlobalSettingsPanel.JOptionPane.loadFailed.title=Error al Cargar
-FileTypeIdGlobalSettingsPanel.loadFileTypes.errorMessage=Error al cargar las definiciones de tipos de archivo existentes.
-FileTypeIdGlobalSettingsPanel.saveFileTypes.errorMessage=Error al guardar las definiciones de tipos de archivo.
+FileTypeIdGlobalSettingsPanel.loadFileTypes.errorMessage=No se pudo cargar las definiciones de tipos de archivo existentes.
+FileTypeIdGlobalSettingsPanel.saveFileTypes.errorMessage=No se pudo guardar las definiciones de tipos de archivo.
FileTypeIdGlobalSettingsPanel.newTypeButton.text=Nuevo Tipo
-FileTypeIdGlobalSettingsPanel.startUp.fileTypeDetectorInitializationException.msg=Error al inicializar el detector de tipos de archivo.
+FileTypeIdGlobalSettingsPanel.startUp.fileTypeDetectorInitializationException.msg=Error al inicializar el detector de tipo de archivo.
AddFileTypeSignaturePanel.offsetLabel.text=Desplazamiento de Byte
AddFileTypeSignaturePanel.signatureTextField.text=
AddFileTypeSignaturePanel.signatureTypeLabel.text=Tipo de Firma
@@ -66,10 +73,10 @@ AddFileTypePanel.deleteSigButton.text=Eliminar Firma
AddFileTypePanel.jLabel1.text=Firmas
AddFileTypePanel.editSigButton.text=Editar Firma
AddFileTypePanel.addSigButton.text=Agregar Firma
-AddFileTypePanel.postHitCheckBox.text=Alertar como un "Archivo Interesante" cuando se encuentre
+AddFileTypePanel.postHitCheckBox.text=Alertar como "Archivo Interesante" al encontrarlo
AddFileTypePanel.setNameLabel.text=Nombre del Conjunto
AddFileTypePanel.setNameTextField.text=
-FileTypeIdGlobalSettingsPanel.ingestRunningWarningLabel.text=¡No se pueden realizar cambios en las definiciones de tipos de archivo cuando se esta ejecutando la ingestion!
-FileTypeIdGlobalSettingsPanel.descriptionLabel.text=Autopsy puede detectar automaticamente muchos tipos de archivo. Agrega tus tipos de archivo personalizados aqui.
+FileTypeIdGlobalSettingsPanel.ingestRunningWarningLabel.text=\u00a1No se pueden hacer cambios a las definiciones de tipo de archivo mientras se est\u00e1 ejecutando el ingest!
+FileTypeIdGlobalSettingsPanel.descriptionLabel.text=Autopsy puede detectar autom\u00e1ticamente muchos tipos de archivos. Agregue aqu\u00ed sus tipos personalizados.
FileTypeIdGlobalSettingsPanel.customTypesLabel.text=Tipos MIME Personalizados:
FileTypeIdGlobalSettingsPanel.signaturesLabel.text=Firmas
diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ar.properties
deleted file mode 100644
index 256a881a063..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_ar.properties
+++ /dev/null
@@ -1,303 +0,0 @@
-HashDbCreateDatabaseDialog.databaseCreationError=Error al crear nuevo conjunto de hash
-HashDbCreateDatabaseDialog.databaseLookupError=Error al acceder al repositorio central
-HashDbCreateDatabaseDialog.duplicateName=Ya existe un conjunto de hash con este nombre
-HashDbCreateDatabaseDialog.missingOrg=Debe seleccionarse una organizacion
-HashDbCreateDatabaseDialog.populateOrgsError.message=Error al cargar las organizaciones.
-HashDbImportDatabaseDialog.databaseLookupError=Error al acceder al repositorio central
-HashDbImportDatabaseDialog.duplicateName=Ya existe un conjunto de hash con este nombre y version
-HashDbImportDatabaseDialog.missingOrg=Debe seleccionarse una organizacion
-HashDbImportDatabaseDialog.missingVersion=Debe ingresarse una version
-HashDbImportDatabaseDialog.mustEnterHashSetNameMsg=Debe ingresar un nombre de conjunto de hash.
-HashDbImportDatabaseDialog.populateOrgsError.message=Error al cargar las organizaciones.
-HashDbIngestModule.complete.noChangesFound=No se encontraron elementos de cambio:
-# {0} - Nombre de archivo
-HashDbIngestModule.dialogTitle.errorFindingArtifacts=Error al encontrar artefactos: {0}
-# {0} - Nombre de archivo
-HashDbIngestModule.errorMessage.lookingForFileArtifacts=Error encontrado al buscar artefactos existentes para {0}.
-HashDbIngestModule.indexError.message=Error al indexar artefacto de impacto de conjunto de hash para la busqueda por palabra clave.
-HashDbIngestModule.knownBadFileSearchWillNotExecuteWarn=La busqueda de archivos destacados no se ejecutara.
-HashDbIngestModule.knownFileSearchWillNotExecuteWarn=La busqueda de archivos conocidos no se ejecutara.
-# {0} - Nombre de archivo
-HashDbIngestModule.lookingUpKnownBadHashValueErr=Error al buscar el valor destacado de conjunto de hash para {0}.
-# {0} - Nombre de archivo
-HashDbIngestModule.lookingUpKnownHashValueErr=Error al buscar el valor conocido de conjunto de hash para {0}.
-# {0} - Nombre de archivo
-HashDbIngestModule.lookingUpNoChangeHashValueErr=Error al buscar el valor de conjunto de hash sin cambios para {0}.
-HashDbIngestModule.noKnownBadHashDbSetMsg=No hay conjunto de hash destacado.
-HashDbIngestModule.noKnownHashDbSetMsg=No hay conjunto de hash conocido.
-HashDbManager.CentralRepoHashDb.orgError=Error al cargar la organizacion
-HashDbManager.centralRepoLoadError.message=Error al cargar conjuntos de hash del repositorio central
-HashDbManager.known.text=Conocidos
-HashDbManager.knownBad.text=Destacados
-HashDbManager.noChange.text=Sin Cambios
-# {0} - Nombre del conjunto de hash
-HashDbManager.noDbPath.message=No se pudo obtener la ruta valida del conjunto de hash para: {0}
-# {0} - Nombre del conjunto de hash
-HashDbManager_handleNameConflict_conflictSuffix={0} (Personalizado)
-HashDbSearchAction.noOpenCase.errMsg=No hay un caso abierto disponible.
-HashDbSearchPanel.noOpenCase.errMsg=No hay un caso abierto disponible.
-HashLookupSettingsPanel.centralRepo=Repositorio Central
-HashLookupSettingsPanel.editable=Editable
-HashLookupSettingsPanel.indexNsrl.text=Este conjunto de hash parece ser el NSRL, se eliminara de la lista.\n
-HashLookupSettingsPanel.indexNsrl.title=El NSRL no sera indexado
-HashLookupSettingsPanel.notApplicable=N/A
-HashLookupSettingsPanel.promptMessage.deleteHashDb=Esto hara que la base de datos de hash no este disponible para buscar. ¿Deseas continuar?\n\nNota: La base de datos de hash aun se puede volver a importar mas tarde.
-HashLookupSettingsPanel.promptTitle.deleteHashDb=Eliminar base de datos de hash de la configuracion
-HashLookupSettingsPanel.readOnly=Solo lectura
-# {0} - Nombre de busqueda de hash
-HashLookupSettingsPanel.removeDatabaseFailure.message=Error al eliminar la busqueda de hash: {0}
-# {0} - Direccion URL de nsrl
-HashLookupSettingsPanel.removeUnindexedNsrl.text=En lugar de indexar el NSRL, descarga una version ya indexada disponible aqui:\n{0}
-HashLookupSettingsPanel.removeUnindexedNsrl.title=Se eliminara el/los NSRL no indexado(s)
-HashLookupSettingsPanel.saveFail.message=No se pudieron guardar los ajustes del conjunto de hash.
-HashLookupSettingsPanel.saveFail.title=Error al guardar
-HashLookupSettingsPanel.Title=Ajustes Globales de Busqueda de Hash
-# {0} - Conjunto de hash nsrl
-HashLookupSettingsPanel.unindexedNsrl.base=El siguiente conjunto de hash parece ser una version no indexada del NSRL, se eliminara de la lista.\nConjunto de hash:{0}\n
-# {0} - Conjuntos de hash nsrl
-HashLookupSettingsPanel.unindexedNsrls.base=Los siguientes conjuntos de hash parecen ser versiones no indexadas del NSRL, se eliminaran de la lista.\nConjuntos de hash:{0}\n
-HashLookupSettingsPanel.updateStatusError=Error al leer el estado
-ImportCentralRepoDbProgressDialog.errorParsingFile.message=Error al analizar el archivo del conjunto de hash
-ImportCentralRepoDbProgressDialog.linesProcessed.message=\ conjuntos de hash procesados
-ImportCentralRepoDbProgressDialog.title.text=Progreso de Importacion del Repositorio Central
-OpenIDE-Module-Display-Category=Modulo de Ingesta
-OpenIDE-Module-Long-Description=\
- Modulo de ingestion de conjuntos de hash. \n\n\
- El modulo de ingestion analiza los archivos en la imagen del disco y los marca como "conocidos" (basados en la busqueda de conjuntos de hash NSRL para archivos "conocidos") y "malos / interesantes" (basados en uno o mas conjuntos de hash proporcionados por el usuario).\n\n\
- El modulo tambien contiene herramientas adicionales que no son de ingestion y que estan integradas en la interfaz grafica, como la busqueda de archivos por hash y la configuracion de conjuntos de hash.
-OpenIDE-Module-Name=HashDatabases
-OptionsCategory_Name_HashDatabase=Conjuntos de Hash
-OptionsCategory_Keywords_HashDatabase=Conjuntos de Hash
-HashDbSearchPanel.hashTable.columnModel.title0=Hashes MD5
-HashDbSearchPanel.addButton.text=Añadir Hash
-HashDbSearchPanel.hashField.text=
-HashDbSearchPanel.hashLabel.text=Hash MD5:
-HashDbSearchPanel.searchButton.text=Buscar
-HashDbSearchPanel.removeButton.text=Eliminar Seleccionado
-HashDbSearchPanel.titleLabel.text=Buscar archivos con el siguiente(s) hash(es) MD5:
-HashDbSearchPanel.errorField.text=Error: No todos los archivos han sido hasheados.
-HashDbSearchPanel.saveBox.text=Recordar Hashes
-HashDbSearchPanel.cancelButton.text=Cancelar
-OpenIDE-Module-Short-Description=Modulo de Ingestion de Conjuntos de Hash y herramientas de conjuntos de hash
-HashDbImportDatabaseDialog.jLabel1.text=Nombre:
-HashDbImportDatabaseDialog.databasePathTextField.text=
-HashDbImportDatabaseDialog.knownBadRadioButton.text=Notable
-HashDbImportDatabaseDialog.jLabel2.text=Tipo de conjunto de hash:
-HashDbImportDatabaseDialog.okButton.text=OK
-HashDbImportDatabaseDialog.cancelButton.text=Cancelar
-HashDbCreateDatabaseDialog.jLabel2.text=Tipo:
-HashDbCreateDatabaseDialog.knownBadRadioButton.text=Notable
-HashDbCreateDatabaseDialog.cancelButton.text=Cancelar
-ModalNoButtons.CURRENTDB_LABEL.text=(Base de Datos Actual)
-ModalNoButtons.CURRENTLYON_LABEL.text=Indexando actualmente x de y
-ModalNoButtons.GO_GET_COFFEE_LABEL.text=Los conjuntos de hash se estan indexando actualmente, esto puede llevar algo de tiempo.
-ModalNoButtons.CANCEL_BUTTON.text=Cancelar
-HashDbImportDatabaseDialog.knownRadioButton.text=Conocido (NSRL u otro)
-HashDbCreateDatabaseDialog.knownRadioButton.text=Conocido
-HashDbCreateDatabaseDialog.saveAsButton.text=Guardar Como...
-HashDbCreateDatabaseDialog.hashSetNameTextField.text=
-HashDbImportDatabaseDialog.jLabel3.text=Ruta del Conjunto de Hash:
-HashDbCreateDatabaseDialog.sendIngestMessagesCheckbox.text=Enviar mensajes de ingestion para cada coincidencia
-HashDbImportDatabaseDialog.sendIngestMessagesCheckbox.text=Enviar mensaje de ingestion para cada coincidencia
-HashDbImportDatabaseDialog.hashSetNameTextField.text=
-HashDbImportDatabaseDialog.openButton.text=Abrir...
-HashDbCreateDatabaseDialog.jLabel3.text=Nombre:
-HashDbCreateDatabaseDialog.okButton.text=OK
-HashDbCreateDatabaseDialog.databasePathTextField.text=
-AddContentToHashDbAction.ContentMenu.noHashDbsConfigd=No hay conjuntos de hash configurados
-AddContentToHashDbAction.ContentMenu.createDbItem=Crear conjunto de hash...
-AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr1.text=Error al añadir al conjunto de hash
-AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr2.text=Error al añadir al conjunto de hash
-AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr3.text=Error al añadir al conjunto de hash
-AddContentToHashDbAction.addFilesToHashSet.unableToAddFileMsg=No se puede añadir {0} al conjunto de hash.
-AddContentToHashDbAction.addFilesToHashSet.unableToAddFileEmptyMsg=No se puede añadir {0} al conjunto de hash. El archivo no tiene contenido.
-AddContentToHashDbAction.addFilesToHashSet.unableToAddFileSzMsg=No se puede añadir {0} al conjunto de hash. Los hashes no han sido calculados. Por favor, configure y ejecute un modulo de ingestion apropiado.
-HashDatabaseOptionsPanelController.moduleErr=Error de Modulo
-HashDatabaseOptionsPanelController.moduleErrMsg=Un modulo causo un error al escuchar las actualizaciones de HashDatabaseOptionsPanelController. Verifique el registro para determinar cual modulo. Algunos datos podrian estar incompletos.
-HashDbConfigPanel.noSelectionText=
-HashDbConfigPanel.errorGettingPathText=Se produjo un error al obtener la ruta
-HashDbConfigPanel.errorGettingIndexStatusText=Se produjo un error al obtener el estado
-HashDbConfigPanel.indexButtonText.index=Indexar
-HashDbConfigPanel.indexButtonText.indexing=Indexando
-HashDbConfigPanel.indexStatusText.indexGen=El indice se esta generando actualmente
-HashDbConfigPanel.indexStatusText.indexOnly=Solamente indice
-HashDbConfigPanel.indexStatusText.indexed=Indexado
-HashDbConfigPanel.indexButtonText.reIndex=Re-Indexar
-HashDbConfigPanel.indexStatusText.noIndex=Sin indice
-HashDbConfigPanel.dbsNotIndexedMsg=Los siguientes conjuntos de hash no estan indexados, ¿desea indexarlos ahora? \n {0}
-HashDbConfigPanel.dbNotIndexedMsg=El siguiente conjunto de hash no esta indexado, ¿desea indexarlo ahora? \n{0}
-HashDbConfigPanel.unindexedDbsMsg=Conjuntos de hash no indexados
-HashDbConfigPanel.allUnindexedDbsRmFromListMsg=Todos los conjuntos de hash no indexados seran eliminados de la lista
-HashDbConfigPanel.nameColLbl=Nombre
-HashDbConfigPanel.editingCellsNotSupportedMsg=La edicion de celdas no esta soportada
-HashDbCreateDatabaseDialog.defaultFileName=hashset
-HashDbCreateDatabaseDialog.createHashDbMsg=Crear conjunto de hash
-HashDbCreateDatabaseDialog.hashDbMustHaveFileExtensionMsg=El archivo del conjunto de hash debe tener una extension .{0}.
-HashDbCreateDatabaseDialog.fileNameErr=Error en el nombre del archivo
-HashDbCreateDatabaseDialog.fileNameAlreadyExistsMsg=Ya existe un archivo con este nombre. Por favor, elige un nuevo nombre de archivo.
-HashDbCreateDatabaseDialog.fileExistsErr=Error de archivo ya existente
-HashDbCreateDatabaseDialog.mustEnterHashSetNameMsg=Debes ingresar un nombre para el conjunto de hash.
-HashDbCreateDatabaseDialog.createHashDbErr=Error al crear conjunto de hash
-HashDbCreateDatabaseDialog.mustEnterHashDbPathMsg=Debes ingresar una ruta para el conjunto de hash.
-HashDbCreateDatabaseDialog.errMsg.hashDbCreationErr=Error en la creacion del conjunto de hash
-HashDbCreateDatabaseDialog.cannotCreateFileAtLocMsg=No se puede crear un archivo de conjunto de hash en la ubicacion seleccionada.
-HashDbCreateDatabaseDialog.failedToCreateHashDbMsg=No se pudo crear el conjunto de hash.
-HashDbImportDatabaseDialog.importHashDbMsg=Importar conjunto de hash
-HashDbImportDatabaseDialog.fileNameExtFilter.text=Archivo de conjunto de hash
-HashDbImportDatabaseDialog.failedToGetDbPathMsg=No se pudo obtener la ruta del conjunto de hash seleccionado.
-HashDbImportDatabaseDialog.importHashDbErr=Error al importar el conjunto de hash
-HashDbImportDatabaseDialog.mustSelectHashDbFilePathMsg=Debes seleccionar la ruta del archivo de conjunto de hash.
-HashDbImportDatabaseDialog.hashDbDoesNotExistMsg=El conjunto de hash seleccionado no existe.
-HashDbImportDatabaseDialog.unableToCopyToUserDirMsg=No se puede copiar el conjunto de hash al directorio de configuracion del usuario {0}.
-HashDbImportDatabaseDialog.errorMessage.failedToOpenHashDbMsg=No se pudo abrir el conjunto de hash en {0}.
-HashLookupModuleFactory.moduleName.text=Busqueda de hash
-HashLookupModuleFactory.moduleDescription.text=Identifica archivos conocidos y destacados utilizando conjuntos de hash suministrados, como un conjunto de hash estandar de NSRL.
-HashDbIngestModule.fileReadErrorMsg=Error de lectura: {0}
-HashDbIngestModule.calcHashValueErr=Se produjo un error al calcular el valor hash para {0} ({1}).
-HashDbIngestModule.hashLookupErrorMsg=Error de busqueda de hash: {0}
-HashDbIngestModule.settingKnownBadStateErr=Se produjo un error al establecer el estado destacado para {0}.
-HashDbIngestModule.postToBB.fileName=Nombre del archivo
-HashDbIngestModule.postToBB.md5Hash=Hash MD5
-HashDbIngestModule.postToBB.hashsetName=Nombre del conjunto de hash
-HashDbIngestModule.postToBB.knownBadMsg=Destacado: {0}
-HashDbIngestModule.complete.knownBadsFound=Destacados encontrados:
-HashDbIngestModule.complete.totalCalcTime=Tiempo total de calculo
-HashDbIngestModule.complete.totalLookupTime=Tiempo total de busqueda
-HashDbIngestModule.complete.databasesUsed=Conjuntos de hash utilizados:
-HashDbIngestModule.complete.hashLookupResults=Resultados de busqueda de hash
-HashDbManager.moduleErrorListeningToUpdatesMsg=Un modulo provoco un error al escuchar las actualizaciones de HashDbManager. Consulta el registro para determinar que modulo. Algunos datos pueden estar incompletos.
-HashDbManager.replacingDuplicateHashsetNameMsg=Se encontro un nombre de conjunto de hash duplicado {0}.\nReemplazandolo con {1}.
-HashDbManager.openHashDbErr=Error al abrir el conjunto de hash
-HashDbManager.unableToOpenHashDbMsg=No se puede abrir el conjunto de hash {0}.
-HashDbManager.savedBackupOfOldConfigMsg={0}\nSe ha guardado una copia de seguridad de la configuracion anterior en\n{1}
-HashDbManager.baseMessage.updatedFormatHashDbConfig=Se ha actualizado el formato del archivo de configuracion del conjunto de hash.
-HashDbManager.msgBoxTitle.confFileFmtChanged=Formato de archivo de configuracion modificado
-HashDbManager.dlgMsg.dbNotFoundAtLoc=No se pudo encontrar el conjunto de hash {0} en la ubicacion\n{1}\n¿Deseas buscar el archivo?
-HashDbManager.dlgTitle.MissingDb=Conjunto de hash faltante
-HashDbManager.progress.indexingHashSet=Indexando {0}
-HashDbManager.dlgMsg.errorIndexingHashSet=Error al indexar el conjunto de hash {0}.
-HashDbManager.hashDbIndexingErr=Error al indexar el conjunto de hash
-HashDbPanelSearchAction.actionName=Busqueda de archivos por hash MD5
-HashDbSearchAction.dlgMsg.noFilesHaveMD5Calculated=Ningun archivo tiene actualmente un hash MD5 calculado, ejecuta primero el ingreso de HashDB.
-HashDbSearchManager.MD5HashSearch=Busqueda por hash MD5
-HashDbSearchManager.noResultsFoundMsg=No se encontraron resultados.
-HashDbSearchPanel.titleText.ingestOngoing=El ingreso esta en curso; este servicio no estara disponible hasta que finalice.
-HashDbSearchPanel.noFilesHaveMD5HashMsg=Ningun archivo tiene actualmente un hash MD5.
-HashDbSearchPanel.errorText.noHashesAddedMsg=Error: No se han agregado hashes.
-HashDbSearchPanel.errorText.hashAlreadyAddedMsg=Error: El hash ya ha sido agregado.
-HashDbSearchPanel.errorText.invalidMD5HashMsg=Error: El hash MD5 no es valido.
-HashDbSearchThread.progress.cancellingSearch={0} (Cancelando...)
-HashDbSearchThread.name.searching=Buscando
-HashDbSearchThread.noMoreFilesWithMD5Msg=No se encontraron otros archivos con el mismo hash MD5.
-ModalNoButtons.indexingDbsTitle=Indexando conjuntos de hash
-ModalNoButtons.indexingDbTitle=Indexando conjunto de hash
-ModalNoButtons.exitHashDbIndexingMsg=Estas a punto de salir del proceso de indexado de conjuntos de hash. \n\
-El indice generado quedara inutilizable. Si decides continuar,\n\
-por favor elimina el archivo -md5.idx correspondiente en la carpeta de hash.\n\
-¿Deseas salir del indexado?
-ModalNoButtons.dlgTitle.unfinishedIndexing=Indexado incompleto
-ModalNoButtons.indexThis.currentlyIndexing1Db=Actualmente se esta indexando 1 conjunto de hash
-ModalNoButtons.indexThese.currentlyIndexing1OfNDbs=Actualmente se esta indexando 1 de {0}
-ModalNoButtons.propChg.currentlyIndexingXofN=Actualmente se esta indexando {0} de {1}
-HashDbManager.duplicateHashSetNameExceptionMsg=El nombre del conjunto de hash ''{0}'' ya se ha utilizado para otro conjunto de hash.
-HashDbManager.hashDbDoesNotExistExceptionMsg=No se encontro el conjunto de hash en\n{0}
-HashDbManager.hashDbFileExistsExceptionMsg=Ya existe un archivo en\n{0}
-HashDbManager.hashDbAlreadyAddedExceptionMsg=El conjunto de hash en\n{0}\nya ha sido creado o importado anteriormente.
-HashDbManager.illegalHashDbFileNameExtensionMsg=El nombre del archivo del conjunto de hash debe tener una extension .{0}.
-HashDbManager.moduleErr=Error de modulo
-HashDbManager.fileNameExtensionFilter.title=Archivo de conjunto de hash
-HashDbSearchAction.dlgMsg.title=Busqueda de archivos por hash MD5
-HashDbSearchAction.getName.text=Busqueda de hash
-HashDbSearchPanel.dlgMsg.title=Busqueda de archivos por hash MD5
-AddContentToHashDbAction.singleSelectionName=Añadir archivo al conjunto de hash
-AddContentToHashDbAction.multipleSelectionName=Añadir archivos al conjunto de hash
-AddContentToHashDbAction.singleSelectionNameDuringIngest=Añadir archivo al conjunto de hash (El ingreso esta en ejecucion)
-AddContentToHashDbAction.multipleSelectionNameDuringIngest=Añadir archivos al conjunto de hash (El ingreso esta en ejecucion)
-AddContentToHashDbAction.singleSelectionNameNoMD5=Añadir archivo al conjunto de hash (Sin hash MD5)
-AddContentToHashDbAction.multipleSelectionNameNoMD5=Añadir archivos al conjunto de hash (Sin hash MD5)
-AddContentToHashDbAction.singleSelectionNameEmpty=Añadir archivo al conjunto de hash (Archivo vacio)
-AddContentToHashDbAction.multipleSelectionNameEmpty=Añadir archivos al conjunto de hash (Archivo vacio)
-HashDbManager.ingestRunningExceptionMsg=El ingreso esta en curso; este servicio no estara disponible hasta que finalice.
-HashDbManager.saveErrorExceptionMsg=Error al guardar la configuracion del hash
-HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.text=Calcular MD5 incluso si no se selecciona un conjunto de hash
-AddContentToHashDbAction.addFilesToHashSet.files=archivos
-AddContentToHashDbAction.addFilesToHashSet.file=archivo
-HashDbManager.errCreatingIndex.title=Error al crear el indice
-HashDbManager.errCreatingIndex.msg=Error al crear el indice: {0}
-HashLookupModuleFactory.getIngestJobSettingsPanel.exception.msg=Se esperaba que el argumento de configuracion fuera una instancia de HashLookupModuleSettings
-HashLookupModuleFactory.createFileIngestModule.exception.msg=Se esperaba que el argumento de configuracion fuera una instancia de HashLookupModuleSettings
-HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.toolTipText=Calcular MD5 incluso si no se selecciona un conjunto de hash
-HashDbSearchPanel.hashTable.defaultModel.title.text=Hashes MD5
-AddHashValuesToDatabaseDialog.JDialog.Title=Agregar hashes al conjunto de hash
-AddHashValuesToDatabaseDialog.instructionLabel.text_1=Pega los valores de hash MD5 (uno por linea) a continuacion:
-AddHashValuesToDatabaseDialog.cancelButton.text_2=Cancelar
-AddHashValuesToDatabaseDialog.pasteFromClipboardButton.text_2=Pegar desde el portapapeles
-AddHashValuesToDatabaseProgressDialog.okButton.text=Aceptar
-AddHashValuesToDatabaseProgressDialog.statusLabel.text=estado
-AddHashValuesToDatabaseProgressDialog.title=Progreso de agregar hashes al conjunto de hash
-AddHashValuesToDatabaseDialog.title=Agregar hashes al conjunto de hash
-AddHashValuesToDatabaseProgressDialog.showErrorsButton.text=Mostrar errores
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.parsing=Analizando texto para encontrar hashes MD5...
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invalidHash=El texto contiene un hash no valido.
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invaliHash.msg=Hashes no validos:
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.noHashesToAdd=No hay hashes para agregar.
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.success={0} Hashes agregados correctamente.
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash=Hubo un error al agregar hashes validos.
-AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash.msg=Error al agregar hashes validos al conjunto de hash:
-HashLookupSettingsPanel.ingestWarningLabel.text=El ingreso esta en curso, algunas configuraciones no estaran disponibles hasta que finalice.
-HashLookupSettingsPanel.addHashesToDatabaseButton.text=Añadir Hashes al conjunto de Hashes
-HashLookupSettingsPanel.indexPathLabelLabel.text=Ruta de indice:
-HashLookupSettingsPanel.createDatabaseButton.toolTipText=
-HashLookupSettingsPanel.createDatabaseButton.text=Nuevo conjunto de Hashes
-HashLookupSettingsPanel.informationLabel.text=Detalles del Conjunto de Hashes
-HashLookupSettingsPanel.sendIngestMessagesCheckBox.text=Enviar mensaje de ingestion por cada coincidencia
-HashLookupSettingsPanel.indexButton.text=indice
-HashLookupSettingsPanel.indexLabel.text=Estado del indice:
-HashLookupSettingsPanel.hashDbIndexStatusLabel.text=
-HashLookupSettingsPanel.hashDbTypeLabel.text=
-HashLookupSettingsPanel.typeLabel.text=Tipo:
-HashLookupSettingsPanel.locationLabel.text=Ruta del Conjunto de Hashes:
-HashLookupSettingsPanel.hashDbLocationLabel.text=
-HashLookupSettingsPanel.hashDbNameLabel.text=
-HashLookupSettingsPanel.nameLabel.text=Nombre:
-HashLookupSettingsPanel.hashDatabasesLabel.text=Conjuntos de Hashes:
-HashLookupSettingsPanel.importDatabaseButton.toolTipText=
-HashLookupSettingsPanel.importDatabaseButton.text=Importar conjunto de Hashes
-HashLookupSettingsPanel.deleteDatabaseButton.text=Eliminar conjunto de Hashes
-ImportHashDatabaseDialog.lbFilePath.text=Ruta del Conjunto de Hashes:
-ImportHashDatabaseDialog.tfDatabaseName.tooltip=Nombre para este conjunto de Hashes
-ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=Numero de Version del Conjunto de Hashes
-ImportHashDatabaseDialog.tfDatabaseName.tooltip=Nombre para este conjunto de Hashes
-ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=Numero de Version del Conjunto de Hashes
-ImportCentralRepoDbProgressDialog.lbProgress.text=Iniciando importacion...
-ImportCentralRepoDbProgressDialog.bnOk.text=OK
-ImportCentralRepoDbProgressDialog.bnCancel.text=Cancelar
-HashLookupSettingsPanel.versionLabel.text_1=Version:
-HashLookupSettingsPanel.hashDbVersionLabel.text_1=
-HashLookupSettingsPanel.orgLabel.text_1=Organizacion:
-HashLookupSettingsPanel.hashDbOrgLabel.text_1=
-HashLookupSettingsPanel.readOnlyLabel.text_1=Solo lectura:
-HashLookupSettingsPanel.hashDbReadOnlyLabel.text_1=
-ImportCentralRepoDbProgressDialog.jLabel1.text=Importando conjunto de Hashes al repositorio central
-HashDbImportDatabaseDialog.lbVersion.text=Version:
-HashDbImportDatabaseDialog.lbOrg.text=Organizacion de Origen:
-HashDbImportDatabaseDialog.readOnlyCheckbox.text=Hacer el conjunto de Hashes de solo lectura
-HashDbImportDatabaseDialog.orgButton.text=Gestionar Organizaciones
-HashDbImportDatabaseDialog.versionTextField.text=1.0
-HashDbImportDatabaseDialog.fileTypeRadioButton.text=Local
-HashDbImportDatabaseDialog.centralRepoRadioButton.text=Remoto (Repositorio Central)
-HashDbImportDatabaseDialog.jLabel4.text=Destino:
-HashDbCreateDatabaseDialog.jLabel4.text=Destino:
-HashDbCreateDatabaseDialog.fileTypeRadioButton.text=Local
-HashDbCreateDatabaseDialog.centralRepoRadioButton.text=Remoto (Repositorio Central)
-HashDbCreateDatabaseDialog.lbOrg.text=Organizacion de Origen:
-HashDbCreateDatabaseDialog.orgButton.text=Gestionar Organizaciones
-HashDbCreateDatabaseDialog.databasePathLabel.text=Ruta del Conjunto de Hashes:
-AddHashValuesToDatabaseDialog.okButton.text_2=OK
-HashDbImportDatabaseDialog.saveInUserConfigFolderCheckbox.text=Copiar conjunto de Hashes a la carpeta de configuracion del usuario
-HashDbImportDatabaseDialog.saveInUserConfigFolderCheckbox.toolTipText=En situaciones de Triage en Vivo, esta opcion asegura que la ruta del conjunto de Hashes sea valida
-HashLookupSettingsPanel.indexPathLabel.text=
-HashLookupModuleSettingsPanel.hashDbsLabel.text=Seleccionar conjuntos de Hashes para usar:
-HashDbCreateDatabaseDialog.noChangeRadioButton.text=Sin Cambios
-HashDbImportDatabaseDialog.noChangeRadioButton.toolTipText=
-HashDbImportDatabaseDialog.noChangeRadioButton.text=Sin Cambios
diff --git a/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_es.properties
new file mode 100644
index 00000000000..7ea1af2d7ba
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/hashdatabase/Bundle_es.properties
@@ -0,0 +1,303 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+HashDbCreateDatabaseDialog.databaseCreationError=Error al crear el nuevo conjunto de hashes
+HashDbCreateDatabaseDialog.databaseLookupError=Error al acceder al repositorio central
+HashDbCreateDatabaseDialog.duplicateName=Ya existe un conjunto de hashes con este nombre
+HashDbCreateDatabaseDialog.missingOrg=Debe seleccionarse una organizaci\u00f3n
+HashDbCreateDatabaseDialog.populateOrgsError.message=Error al cargar las organizaciones.
+HashDbImportDatabaseDialog.databaseLookupError=Error al acceder al repositorio central
+HashDbImportDatabaseDialog.duplicateName=Ya existe un conjunto de hashes con este nombre y versi\u00f3n
+HashDbImportDatabaseDialog.missingOrg=Debe seleccionarse una organizaci\u00f3n
+HashDbImportDatabaseDialog.missingVersion=Debe ingresarse una versi\u00f3n
+HashDbImportDatabaseDialog.mustEnterHashSetNameMsg=Debe ingresarse un nombre para el conjunto de hashes.
+HashDbImportDatabaseDialog.populateOrgsError.message=Error al cargar las organizaciones.
+HashDbIngestModule.complete.noChangesFound=No se encontraron elementos sin cambios:
+HashDbIngestModule.dialogTitle.errorFindingArtifacts=Error al encontrar artefactos: {0}
+HashDbIngestModule.errorMessage.lookingForFileArtifacts=Se produjo un error al buscar artefactos existentes para {0}.
+HashDbIngestModule.indexError.message=No se pudo indexar el artefacto encontrado en el conjunto de hashes para la b\u00fasqueda por palabra clave.
+HashDbIngestModule.knownBadFileSearchWillNotExecuteWarn=No se ejecutar\u00e1 la b\u00fasqueda de archivos notables.
+HashDbIngestModule.knownFileSearchWillNotExecuteWarn=No se ejecutar\u00e1 la b\u00fasqueda de archivos conocidos.
+HashDbIngestModule.lookingUpKnownBadHashValueErr=Se produjo un error al buscar el valor hash notable para {0}.
+HashDbIngestModule.lookingUpKnownHashValueErr=Se produjo un error al buscar el valor hash conocido para {0}.
+HashDbIngestModule.lookingUpNoChangeHashValueErr=Se produjo un error al buscar el valor hash sin cambios para {0}.
+HashDbIngestModule.noKnownBadHashDbSetMsg=No hay conjunto de hashes notables.
+HashDbIngestModule.noKnownHashDbSetMsg=No hay conjunto de hashes conocidos.
+HashDbManager.CentralRepoHashDb.orgError=Error al cargar la organizaci\u00f3n
+HashDbManager.centralRepoLoadError.message=Error al cargar conjuntos de hashes del repositorio central
+HashDbManager.known.text=Conocido
+HashDbManager.knownBad.text=Notable
+HashDbManager.noChange.text=Sin cambios
+HashDbManager.noDbPath.message=No se pudo obtener una ruta v\u00e1lida del conjunto de hashes para: {0}
+HashDbManager_handleNameConflict_conflictSuffix={0} (Personalizado)
+HashDbSearchAction.noOpenCase.errMsg=No hay un caso abierto disponible.
+HashDbSearchPanel.noOpenCase.errMsg=No hay un caso abierto disponible.
+HashLookupSettingsPanel.centralRepo=Repositorio central
+HashLookupSettingsPanel.editable=Editable
+HashLookupSettingsPanel.indexNsrl.text=Este conjunto de hashes parece ser el NSRL, se eliminar\u00e1 de la lista.\n
+HashLookupSettingsPanel.indexNsrl.title=NSRL no se indexar\u00e1
+HashLookupSettingsPanel.notApplicable=N/A
+HashLookupSettingsPanel.promptMessage.deleteHashDb=Esto har\u00e1 que la base de datos de hashes no est\u00e9 disponible para consultas. \u00bfDesea continuar?\n\nNota: A\u00fan se puede volver a importar la base de datos de hashes m\u00e1s adelante.
+HashLookupSettingsPanel.promptTitle.deleteHashDb=Eliminar base de datos de hashes de la configuraci\u00f3n
+HashLookupSettingsPanel.readOnly=Solo lectura
+# {0} - hash lookup name
+HashLookupSettingsPanel.removeDatabaseFailure.message=No se pudo eliminar la b\u00fasqueda de hash: {0}
+# {0} - nsrlUrlAddress
+HashLookupSettingsPanel.removeUnindexedNsrl.text=En lugar de indexar el NSRL, descargue una versi\u00f3n ya indexada disponible aqu\u00ed:\n{0}
+HashLookupSettingsPanel.removeUnindexedNsrl.title=Se eliminar\u00e1(n) NSRL(s) no indexado(s)
+HashLookupSettingsPanel.saveFail.message=No se pudieron guardar los ajustes del conjunto de hash.
+HashLookupSettingsPanel.saveFail.title=Fallo al guardar
+HashLookupSettingsPanel.Title=Configuraci\u00f3n global de b\u00fasqueda de hash
+# {0} - nsrlHashSet
+HashLookupSettingsPanel.unindexedNsrl.base=El siguiente conjunto de hash parece ser una versi\u00f3n no indexada del NSRL, se eliminar\u00e1 de la lista.\nConjunto de hash: {0}\n
+# {0} - nsrlHashSets
+HashLookupSettingsPanel.unindexedNsrls.base=Los siguientes conjuntos de hash parecen ser versiones no indexadas del NSRL, se eliminar\u00e1n de la lista.\nConjuntos de hash: {0}\n
+HashLookupSettingsPanel.updateStatusError=Error al leer el estado
+ImportCentralRepoDbProgressDialog.errorParsingFile.message=Error al analizar el archivo del conjunto de hash
+ImportCentralRepoDbProgressDialog.linesProcessed.message=\ hashes procesados
+ImportCentralRepoDbProgressDialog.title.text=Progreso de importaci\u00f3n del repositorio central
+OpenIDE-Module-Display-Category=M\u00f3dulo de ingest\u00f3n
+OpenIDE-Module-Long-Description=\
+ M\u00f3dulo de ingest\u00f3n de conjuntos de hash. \n\n\
+ El m\u00f3dulo de ingest\u00f3n analiza archivos en la imagen de disco y los marca como "conocidos" (basado en la b\u00fasqueda de hash del NSRL para archivos "conocidos") y "malos/interesantes" (basado en uno o m\u00e1s conjuntos de hash provistos por el usuario).\n\n\
+ El m\u00f3dulo tambi\u00e9n contiene herramientas adicionales no relacionadas con ingest\u00f3n que est\u00e1n integradas en la GUI, como la b\u00fasqueda de archivos por hash y la configuraci\u00f3n de conjuntos de hash.
+OpenIDE-Module-Name=BasesDeDatosDeHash
+OptionsCategory_Name_HashDatabase=Conjuntos de hash
+OptionsCategory_Keywords_HashDatabase=Conjuntos de hash
+HashDbSearchPanel.hashTable.columnModel.title0=Hashes MD5
+HashDbSearchPanel.addButton.text=A\u00f1adir hash
+HashDbSearchPanel.hashField.text=
+HashDbSearchPanel.hashLabel.text=Hash MD5:
+HashDbSearchPanel.searchButton.text=Buscar
+HashDbSearchPanel.removeButton.text=Eliminar seleccionados
+HashDbSearchPanel.titleLabel.text=Buscar archivos con el/los siguiente(s) hash(es) MD5:
+HashDbSearchPanel.errorField.text=Error: No todos los archivos han sido procesados con hash.
+HashDbSearchPanel.saveBox.text=Recordar hashes
+HashDbSearchPanel.cancelButton.text=Cancelar
+OpenIDE-Module-Short-Description=M\u00f3dulo de ingesta de conjuntos de hash y herramientas de conjuntos de hash
+HashDbImportDatabaseDialog.jLabel1.text=Nombre:
+HashDbImportDatabaseDialog.databasePathTextField.text=
+HashDbImportDatabaseDialog.knownBadRadioButton.text=Notable
+HashDbImportDatabaseDialog.jLabel2.text=Tipo de conjunto de hash:
+HashDbImportDatabaseDialog.okButton.text=Aceptar
+HashDbImportDatabaseDialog.cancelButton.text=Cancelar
+HashDbCreateDatabaseDialog.jLabel2.text=Tipo:
+HashDbCreateDatabaseDialog.knownBadRadioButton.text=Notable
+HashDbCreateDatabaseDialog.cancelButton.text=Cancelar
+ModalNoButtons.CURRENTDB_LABEL.text=(BaseDeDatosActual)
+ModalNoButtons.CURRENTLYON_LABEL.text=Indexando actualmente x de y
+ModalNoButtons.GO_GET_COFFEE_LABEL.text=Los conjuntos de hash se est\u00e1n indexando, esto puede tardar un poco.
+ModalNoButtons.CANCEL_BUTTON.text=Cancelar
+HashDbImportDatabaseDialog.knownRadioButton.text=Conocido (NSRL u otro)
+HashDbCreateDatabaseDialog.knownRadioButton.text=Conocido
+HashDbCreateDatabaseDialog.saveAsButton.text=Guardar como...
+HashDbCreateDatabaseDialog.hashSetNameTextField.text=
+HashDbImportDatabaseDialog.jLabel3.text=Ruta del conjunto de hash:
+HashDbCreateDatabaseDialog.sendIngestMessagesCheckbox.text=Enviar mensajes a la bandeja de ingest por cada coincidencia
+HashDbImportDatabaseDialog.sendIngestMessagesCheckbox.text=Enviar mensaje a la bandeja de ingest por cada coincidencia
+HashDbImportDatabaseDialog.hashSetNameTextField.text=
+HashDbImportDatabaseDialog.openButton.text=Abrir...
+HashDbCreateDatabaseDialog.jLabel3.text=Nombre:
+HashDbCreateDatabaseDialog.okButton.text=OK
+HashDbCreateDatabaseDialog.databasePathTextField.text=
+AddContentToHashDbAction.ContentMenu.noHashDbsConfigd=No hay conjuntos de hash configurados
+AddContentToHashDbAction.ContentMenu.createDbItem=Crear conjunto de hash...
+AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr1.text=Error al agregar al conjunto de hash
+AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr2.text=Error al agregar al conjunto de hash
+AddContentToHashDbAction.addFilesToHashSet.addToHashDbErr3.text=Error al agregar al conjunto de hash
+AddContentToHashDbAction.addFilesToHashSet.unableToAddFileMsg=No se pudo agregar {0} al conjunto de hash.
+AddContentToHashDbAction.addFilesToHashSet.unableToAddFileEmptyMsg=No se pudo agregar {0} al conjunto de hash. El archivo no tiene contenido.
+AddContentToHashDbAction.addFilesToHashSet.unableToAddFileSzMsg=No se pudo agregar {0} al conjunto de hash. No se han calculado los hashes. Configure y ejecute un m\u00f3dulo de ingest apropiado.
+HashDatabaseOptionsPanelController.moduleErr=Error de m\u00f3dulo
+HashDatabaseOptionsPanelController.moduleErrMsg=Un m\u00f3dulo caus\u00f3 un error al escuchar actualizaciones de HashDatabaseOptionsPanelController. Vea el registro para determinar qu\u00e9 m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+HashDbConfigPanel.noSelectionText=
+HashDbConfigPanel.errorGettingPathText=Ocurri\u00f3 un error al obtener la ruta
+HashDbConfigPanel.errorGettingIndexStatusText=Ocurri\u00f3 un error al obtener el estado
+HashDbConfigPanel.indexButtonText.index=Indexar
+HashDbConfigPanel.indexButtonText.indexing=Indexando
+HashDbConfigPanel.indexStatusText.indexGen=El \u00edndice se est\u00e1 generando actualmente
+HashDbConfigPanel.indexStatusText.indexOnly=Solo \u00edndice
+HashDbConfigPanel.indexStatusText.indexed=Indexado
+HashDbConfigPanel.indexButtonText.reIndex=Reindexar
+HashDbConfigPanel.indexStatusText.noIndex=Sin \u00edndice
+HashDbConfigPanel.dbsNotIndexedMsg=Los siguientes conjuntos de hash no est\u00e1n indexados, \u00bfDesea indexarlos ahora? \n {0}
+HashDbConfigPanel.dbNotIndexedMsg=El siguiente conjunto de hash no est\u00e1 indexado, \u00bfDesea indexarlo ahora? \n{0}
+HashDbConfigPanel.unindexedDbsMsg=Conjuntos de hash no indexados
+HashDbConfigPanel.allUnindexedDbsRmFromListMsg=Todos los conjuntos de hash no indexados ser\u00e1n eliminados de la lista
+HashDbConfigPanel.nameColLbl=Nombre
+HashDbConfigPanel.editingCellsNotSupportedMsg=La edici\u00f3n de celdas no est\u00e1 soportada
+HashDbCreateDatabaseDialog.defaultFileName=conjuntohash
+HashDbCreateDatabaseDialog.createHashDbMsg=Crear conjunto de hash
+HashDbCreateDatabaseDialog.hashDbMustHaveFileExtensionMsg=El archivo del conjunto de hash debe tener una extensi\u00f3n .{0}.
+HashDbCreateDatabaseDialog.fileNameErr=Error en el nombre del archivo
+HashDbCreateDatabaseDialog.fileNameAlreadyExistsMsg=Ya existe un archivo con este nombre. Por favor elija un nuevo nombre.
+HashDbCreateDatabaseDialog.fileExistsErr=Error: el archivo ya existe
+HashDbCreateDatabaseDialog.mustEnterHashSetNameMsg=Debe ingresar un nombre para el conjunto de hash.
+HashDbCreateDatabaseDialog.createHashDbErr=Error al crear el conjunto de hash
+HashDbCreateDatabaseDialog.mustEnterHashDbPathMsg=Debe ingresar una ruta para el conjunto de hash.
+HashDbCreateDatabaseDialog.errMsg.hashDbCreationErr=Error al crear el conjunto de hash
+HashDbCreateDatabaseDialog.cannotCreateFileAtLocMsg=No se puede crear el archivo del conjunto de hash en la ubicaci\u00f3n seleccionada.
+HashDbCreateDatabaseDialog.failedToCreateHashDbMsg=No se pudo crear el conjunto de hash.
+HashDbImportDatabaseDialog.importHashDbMsg=Importar conjunto de hash
+HashDbImportDatabaseDialog.fileNameExtFilter.text=Archivo de conjunto de hash
+HashDbImportDatabaseDialog.failedToGetDbPathMsg=No se pudo obtener la ruta del conjunto de hash seleccionado.
+HashDbImportDatabaseDialog.importHashDbErr=Error al importar conjunto de hash
+HashDbImportDatabaseDialog.mustSelectHashDbFilePathMsg=Debe seleccionar la ruta del archivo del conjunto de hash.
+HashDbImportDatabaseDialog.hashDbDoesNotExistMsg=El conjunto de hash seleccionado no existe.
+HashDbImportDatabaseDialog.unableToCopyToUserDirMsg=No se pudo copiar el conjunto de hash al directorio de configuraci\u00f3n del usuario {0}.
+HashDbImportDatabaseDialog.errorMessage.failedToOpenHashDbMsg=No se pudo abrir el conjunto de hash en {0}.
+HashLookupModuleFactory.moduleName.text=B\u00fasqueda de Hash
+HashLookupModuleFactory.moduleDescription.text=Identifica archivos conocidos y notables usando conjuntos de hash suministrados, como un conjunto de hash est\u00e1ndar NSRL.
+HashDbIngestModule.fileReadErrorMsg=Error de lectura: {0}
+HashDbIngestModule.calcHashValueErr=Error al calcular el valor hash para {0} ({1}).
+HashDbIngestModule.hashLookupErrorMsg=Error en la b\u00fasqueda de hash: {0}
+HashDbIngestModule.settingKnownBadStateErr=Error al establecer el estado de archivo notable para {0}.
+HashDbIngestModule.postToBB.fileName=Nombre de archivo
+HashDbIngestModule.postToBB.md5Hash=Hash MD5
+HashDbIngestModule.postToBB.hashsetName=Nombre del conjunto de hashes
+HashDbIngestModule.postToBB.knownBadMsg=Notable: {0}
+HashDbIngestModule.complete.knownBadsFound=Notables encontrados:
+HashDbIngestModule.complete.totalCalcTime=Tiempo total de c\u00e1lculo
+HashDbIngestModule.complete.totalLookupTime=Tiempo total de b\u00fasqueda
+HashDbIngestModule.complete.databasesUsed=Conjuntos de hashes usados:
+HashDbIngestModule.complete.hashLookupResults=Resultados de b\u00fasqueda de hashes
+HashDbManager.moduleErrorListeningToUpdatesMsg=Un m\u00f3dulo caus\u00f3 un error al escuchar las actualizaciones de HashDbManager. Consulta el registro para determinar cu\u00e1l m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+HashDbManager.replacingDuplicateHashsetNameMsg=Se encontr\u00f3 un nombre de conjunto de hashes duplicado {0}.\nReemplazando con {1}.
+HashDbManager.openHashDbErr=Error al abrir el conjunto de hashes
+HashDbManager.unableToOpenHashDbMsg=No se puede abrir el conjunto de hashes {0}.
+HashDbManager.savedBackupOfOldConfigMsg={0}\nSe ha guardado una copia de respaldo de la configuraci\u00f3n antigua como\n{1}
+HashDbManager.baseMessage.updatedFormatHashDbConfig=Se ha actualizado el formato del archivo de configuraci\u00f3n del conjunto de hashes.
+HashDbManager.msgBoxTitle.confFileFmtChanged=Formato del archivo de configuraci\u00f3n cambiado
+HashDbManager.dlgMsg.dbNotFoundAtLoc=No se pudo encontrar el conjunto de hashes {0} en la ubicaci\u00f3n\n{1}\n\u00bfDeseas buscar el archivo?
+HashDbManager.dlgTitle.MissingDb=Conjunto de hashes faltante
+HashDbManager.progress.indexingHashSet=Indexando {0}
+HashDbManager.dlgMsg.errorIndexingHashSet=Error al indexar el conjunto de hashes {0}.
+HashDbManager.hashDbIndexingErr=Error de indexaci\u00f3n del conjunto de hashes
+HashDbPanelSearchAction.actionName=B\u00fasqueda de archivos por hash MD5
+HashDbSearchAction.dlgMsg.noFilesHaveMD5Calculated=Ning\u00fan archivo tiene actualmente un hash MD5 calculado, ejecuta primero el ingest de HashDB.
+HashDbSearchManager.MD5HashSearch=B\u00fasqueda por hash MD5
+HashDbSearchManager.noResultsFoundMsg=No se encontraron resultados.
+HashDbSearchPanel.titleText.ingestOngoing=El ingest est\u00e1 en curso; este servicio no estar\u00e1 disponible hasta que finalice.
+HashDbSearchPanel.noFilesHaveMD5HashMsg=Ning\u00fan archivo tiene actualmente un hash MD5.
+HashDbSearchPanel.errorText.noHashesAddedMsg=Error: No se han agregado hashes.
+HashDbSearchPanel.errorText.hashAlreadyAddedMsg=Error: El hash ya ha sido agregado.
+HashDbSearchPanel.errorText.invalidMD5HashMsg=Error: Ese no es un hash MD5 v\u00e1lido.
+HashDbSearchThread.progress.cancellingSearch={0} (Cancelando...)
+HashDbSearchThread.name.searching=Buscando
+HashDbSearchThread.noMoreFilesWithMD5Msg=No se encontraron m\u00e1s archivos con el mismo hash MD5.
+ModalNoButtons.indexingDbsTitle=Indexando conjuntos de hashes
+ModalNoButtons.indexingDbTitle=Indexando conjunto de hash
+ModalNoButtons.exitHashDbIndexingMsg=Est\u00e1s a punto de salir de la indexaci\u00f3n de tus conjuntos de hash. \n\
+El \u00edndice generado quedar\u00e1 inutilizable. Si decides continuar,\n\
+ por favor elimina el archivo -md5.idx correspondiente en la carpeta de hash.\n\
+ \u00bfSalir de la indexaci\u00f3n?
+ModalNoButtons.dlgTitle.unfinishedIndexing=Indexaci\u00f3n incompleta
+ModalNoButtons.indexThis.currentlyIndexing1Db=Indexando actualmente 1 conjunto de hash
+ModalNoButtons.indexThese.currentlyIndexing1OfNDbs=Indexando actualmente 1 de {0}
+ModalNoButtons.propChg.currentlyIndexingXofN=Indexando actualmente {0} de {1}
+HashDbManager.duplicateHashSetNameExceptionMsg=El nombre del conjunto de hash ''{0}'' ya ha sido utilizado para otro conjunto.
+HashDbManager.hashDbDoesNotExistExceptionMsg=No se encontr\u00f3 un conjunto de hash en\n{0}
+HashDbManager.hashDbFileExistsExceptionMsg=Ya existe un archivo en\n{0}
+HashDbManager.hashDbAlreadyAddedExceptionMsg=El conjunto de hash en\n{0}\nya ha sido creado o importado.
+HashDbManager.illegalHashDbFileNameExtensionMsg=El nombre del archivo del conjunto de hash debe tener una extensi\u00f3n .{0}.
+HashDbManager.moduleErr=Error del m\u00f3dulo
+HashDbManager.fileNameExtensionFilter.title=Archivo de conjunto de hash
+HashDbSearchAction.dlgMsg.title=B\u00fasqueda de archivo por hash MD5
+HashDbSearchAction.getName.text=B\u00fasqueda de hash
+HashDbSearchPanel.dlgMsg.title=B\u00fasqueda de archivo por hash MD5
+AddContentToHashDbAction.singleSelectionName=A\u00f1adir archivo al conjunto de hash
+AddContentToHashDbAction.multipleSelectionName=A\u00f1adir archivos al conjunto de hash
+AddContentToHashDbAction.singleSelectionNameDuringIngest=A\u00f1adir archivo al conjunto de hash (ingesta en curso)
+AddContentToHashDbAction.multipleSelectionNameDuringIngest=A\u00f1adir archivos al conjunto de hash (ingesta en curso)
+AddContentToHashDbAction.singleSelectionNameNoMD5=A\u00f1adir archivo al conjunto de hash (sin hash MD5)
+AddContentToHashDbAction.multipleSelectionNameNoMD5=A\u00f1adir archivos al conjunto de hash (sin hash MD5)
+AddContentToHashDbAction.singleSelectionNameEmpty=A\u00f1adir archivo al conjunto de hash (archivo vac\u00edo)
+AddContentToHashDbAction.multipleSelectionNameEmpty=A\u00f1adir archivos al conjunto de hash (archivo vac\u00edo)
+HashDbManager.ingestRunningExceptionMsg=La ingesta est\u00e1 en curso; este servicio no estar\u00e1 disponible hasta que finalice.
+HashDbManager.saveErrorExceptionMsg=Error al guardar la configuraci\u00f3n del hash
+HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.text=Calcular MD5 incluso si no se ha seleccionado un conjunto de hash
+AddContentToHashDbAction.addFilesToHashSet.files=archivos
+AddContentToHashDbAction.addFilesToHashSet.file=archivo
+HashDbManager.errCreatingIndex.title=Error al crear el \u00edndice
+HashDbManager.errCreatingIndex.msg=Error al crear el \u00edndice: {0}
+HashLookupModuleFactory.getIngestJobSettingsPanel.exception.msg=Se esperaba un argumento de configuraci\u00f3n de tipo HashLookupModuleSettings
+HashLookupModuleFactory.createFileIngestModule.exception.msg=Se esperaba un argumento de configuraci\u00f3n de tipo HashLookupModuleSettings
+HashLookupModuleSettingsPanel.alwaysCalcHashesCheckbox.toolTipText=Calcular MD5 incluso si no se ha seleccionado un conjunto de hash
+HashDbSearchPanel.hashTable.defaultModel.title.text=Hashes MD5
+AddHashValuesToDatabaseDialog.JDialog.Title=A\u00f1adir hashes al conjunto de hash
+AddHashValuesToDatabaseDialog.instructionLabel.text_1=Pega los valores de hash MD5 (uno por l\u00ednea) a continuaci\u00f3n:
+AddHashValuesToDatabaseDialog.cancelButton.text_2=Cancelar
+AddHashValuesToDatabaseDialog.pasteFromClipboardButton.text_2=Pegar desde el portapapeles
+AddHashValuesToDatabaseProgressDialog.okButton.text=Aceptar
+AddHashValuesToDatabaseProgressDialog.statusLabel.text=estado
+AddHashValuesToDatabaseProgressDialog.title=Progreso de a\u00f1adir hashes al conjunto
+AddHashValuesToDatabaseDialog.title=A\u00f1adir hashes al conjunto de hash
+AddHashValuesToDatabaseProgressDialog.showErrorsButton.text=Mostrar errores
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.parsing=Analizando texto para hashes MD5...
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invalidHash=La entrada contiene un hash inv\u00e1lido.
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.invaliHash.msg=Hashes inv\u00e1lidos:
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.noHashesToAdd=No hay hashes para agregar.
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.success={0} hashes agregados exitosamente.
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash=Ocurri\u00f3 un error al agregar hashes v\u00e1lidos.
+AddHashValuesToDatabaseProgressDialog.addHashValuesToDatabase.errorAddingValidHash.msg=Error al agregar hashes v\u00e1lidos al conjunto de hashes:
+HashLookupSettingsPanel.ingestWarningLabel.text=El procesamiento est\u00e1 en curso, algunas configuraciones estar\u00e1n deshabilitadas hasta que finalice.
+HashLookupSettingsPanel.addHashesToDatabaseButton.text=Agregar hashes al conjunto
+HashLookupSettingsPanel.indexPathLabelLabel.text=Ruta del \u00edndice:
+HashLookupSettingsPanel.createDatabaseButton.toolTipText=
+HashLookupSettingsPanel.createDatabaseButton.text=Nuevo conjunto de hashes
+HashLookupSettingsPanel.informationLabel.text=Detalles del conjunto de hashes
+HashLookupSettingsPanel.sendIngestMessagesCheckBox.text=Enviar mensaje de procesamiento por cada coincidencia
+HashLookupSettingsPanel.indexButton.text=Indexar
+HashLookupSettingsPanel.indexLabel.text=Estado del \u00edndice:
+HashLookupSettingsPanel.hashDbIndexStatusLabel.text=
+HashLookupSettingsPanel.hashDbTypeLabel.text=
+HashLookupSettingsPanel.typeLabel.text=Tipo:
+HashLookupSettingsPanel.locationLabel.text=Ruta del conjunto de hashes:
+HashLookupSettingsPanel.hashDbLocationLabel.text=
+HashLookupSettingsPanel.hashDbNameLabel.text=
+HashLookupSettingsPanel.nameLabel.text=Nombre:
+HashLookupSettingsPanel.hashDatabasesLabel.text=Conjuntos de hashes:
+HashLookupSettingsPanel.importDatabaseButton.toolTipText=
+HashLookupSettingsPanel.importDatabaseButton.text=Importar conjunto de hashes
+HashLookupSettingsPanel.deleteDatabaseButton.text=Eliminar conjunto de hashes
+ImportHashDatabaseDialog.lbFilePath.text=Ruta del conjunto de hashes:
+ImportHashDatabaseDialog.tfDatabaseName.tooltip=Nombre para este conjunto de hashes
+ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=N\u00famero de versi\u00f3n del conjunto de hashes
+ImportHashDatabaseDialog.tfDatabaseName.tooltip=Nombre para este conjunto de hashes
+ImportHashDatabaseDialog.tfDatabaseVersion.tooltip.text=N\u00famero de versi\u00f3n del conjunto de hashes
+ImportCentralRepoDbProgressDialog.lbProgress.text=Iniciando importaci\u00f3n...
+ImportCentralRepoDbProgressDialog.bnOk.text=Aceptar
+ImportCentralRepoDbProgressDialog.bnCancel.text=Cancelar
+HashLookupSettingsPanel.versionLabel.text_1=Versi\u00f3n:
+HashLookupSettingsPanel.hashDbVersionLabel.text_1=
+HashLookupSettingsPanel.orgLabel.text_1=Organizaci\u00f3n:
+HashLookupSettingsPanel.hashDbOrgLabel.text_1=
+HashLookupSettingsPanel.readOnlyLabel.text_1=Solo lectura:
+HashLookupSettingsPanel.hashDbReadOnlyLabel.text_1=
+ImportCentralRepoDbProgressDialog.jLabel1.text=Importando conjunto de hashes en el repositorio central
+HashDbImportDatabaseDialog.lbVersion.text=Versi\u00f3n:
+HashDbImportDatabaseDialog.lbOrg.text=Organizaci\u00f3n de origen:
+HashDbImportDatabaseDialog.readOnlyCheckbox.text=Hacer conjunto de hashes de solo lectura
+HashDbImportDatabaseDialog.orgButton.text=Gestionar organizaciones
+HashDbImportDatabaseDialog.versionTextField.text=1.0
+HashDbImportDatabaseDialog.fileTypeRadioButton.text=Local
+HashDbImportDatabaseDialog.centralRepoRadioButton.text=Remoto (Repositorio central)
+HashDbImportDatabaseDialog.jLabel4.text=Destino:
+HashDbCreateDatabaseDialog.jLabel4.text=Destino:
+HashDbCreateDatabaseDialog.fileTypeRadioButton.text=Local
+HashDbCreateDatabaseDialog.centralRepoRadioButton.text=Remoto (Repositorio central)
+HashDbCreateDatabaseDialog.lbOrg.text=Organizaci\u00f3n de origen:
+HashDbCreateDatabaseDialog.orgButton.text=Gestionar organizaciones
+HashDbCreateDatabaseDialog.databasePathLabel.text=Ruta del conjunto de hashes:
+AddHashValuesToDatabaseDialog.okButton.text_2=OK
+HashDbImportDatabaseDialog.saveInUserConfigFolderCheckbox.text=Copiar conjunto de hashes en la carpeta de configuraci\u00f3n del usuario
+HashDbImportDatabaseDialog.saveInUserConfigFolderCheckbox.toolTipText=En situaciones de triage en vivo, esta opci\u00f3n asegura que la ruta al conjunto de hashes sea v\u00e1lida
+HashLookupSettingsPanel.indexPathLabel.text=
+HashLookupModuleSettingsPanel.hashDbsLabel.text=Seleccionar conjuntos de hashes a usar:
+HashDbCreateDatabaseDialog.noChangeRadioButton.text=Sin cambios
+HashDbImportDatabaseDialog.noChangeRadioButton.toolTipText=
+HashDbImportDatabaseDialog.noChangeRadioButton.text=Sin cambios
diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_ar.properties
deleted file mode 100644
index 2ccf3a1c0ea..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_ar.properties
+++ /dev/null
@@ -1,190 +0,0 @@
-FileSet_fileIsMemberOf_noInclusiveRules_ruleName=No Excluido
-FilesIdentifierIngestJobSettingsPanel.getError=Error al obtener conjuntos de archivos interesantes desde el archivo de configuracion.
-FilesIdentifierIngestJobSettingsPanel.updateError=Error al actualizar la configuracion de conjuntos de archivos interesantes.
-FilesIdentifierIngestModule.getFilesError=Error al obtener conjuntos de archivos interesantes desde el archivo.
-FilesIdentifierIngestModule.indexError.message=Error al indexar el artefacto del archivo interesante para la busqueda de palabras clave.
-# {0} - diasIncluidos
-FilesSet.rule.dateRule.toString=(modificado en los ultimos {0} dia(s))
-FilesSetDefsPanel.bytes=Bytes
-FilesSetDefsPanel.cancelImportMsg=Cancelar importacion
-FilesSetDefsPanel.cancelNewSetMsg=Cancelar
-# {0} - nombreArchivo
-FilesSetDefsPanel.exportButtonActionPerformed.fileExistPrompt=El archivo {0} ya existe, ¿deseas sobrescribirlo?
-FilesSetDefsPanel.gigaBytes=Gigabytes
-# {0} - nombreArchivo
-# {1} - mensajeError
-FilesSetDefsPanel.importSetButtonActionPerformed.importError=No se pudo leer el archivo de reglas "{0}": \n{1}.
-FilesSetDefsPanel.importSetButtonActionPerformed.noFiles=No se encontraron conjuntos de archivos en los archivos seleccionados.
-FilesSetDefsPanel.importSetButtonActionPerformed.noFilesSelected=No se han seleccionado conjuntos de archivos.
-# {0} - nombreFiltro
-# {1} - nombrePerfil
-FilesSetDefsPanel.ingest.fileFilterInUseError=El filtro de archivo seleccionado, {0}, esta siendo utilizado por un perfil, {1}, y no puede ser eliminado mientras algun perfil lo este utilizando.
-FilesSetDefsPanel.Ingest.Title=Configuracion de Filtros de Archivos
-FilesSetDefsPanel.interesting.copySetButton.text=Copiar Conjunto
-FilesSetDefsPanel.interesting.exportButtonAction.featureName=Exportar Conjunto de Archivos Interesantes
-FilesSetDefsPanel.interesting.ExportedMsg=Conjunto de archivos interesantes exportado
-FilesSetDefsPanel.interesting.exportSetButton.text=Exportar Conjunto
-FilesSetDefsPanel.interesting.failExportMsg=Error al exportar el conjunto de archivos interesantes
-FilesSetDefsPanel.interesting.failImportMsg=El conjunto de archivos interesantes no fue importado
-FilesSetDefsPanel.interesting.fileExtensionFilterLbl=Archivo de Conjunto de Archivos Interesantes de Autopsy (xml)
-FilesSetDefsPanel.interesting.importButtonAction.featureName=Importar Conjunto de Archivos Interesantes
-FilesSetDefsPanel.interesting.importOwConflict=Conflicto de importacion de conjuntos de archivos interesantes
-FilesSetDefsPanel.interesting.importSetButton.text=Importar Conjunto
-FilesSetDefsPanel.interesting.newOwConflict=Conflicto de conjuntos de archivos interesantes
-# {0} - nombreConjuntoArchivos
-FilesSetDefsPanel.interesting.overwriteSetPrompt=El conjunto de archivos interesantes "{0}" ya existe localmente, ¿deseas sobrescribirlo?
-# {0} - nombreConjuntoArchivos
-# {1} - nuevoNombreConjuntoArchivos
-FilesSetDefsPanel.interesting.standardFileConflict=Ya existe un conjunto de archivos interesantes estandar con el nombre "{0}". ¿Deseas cambiar el nombre de tu conjunto a "{1}"?
-FilesSetDefsPanel.Interesting.Title=Configuracion Global de Elementos Interesantes
-FilesSetDefsPanel.kiloBytes=Kilobytes
-FilesSetDefsPanel.loadError=Error al cargar conjuntos de archivos interesantes desde el archivo.
-FilesSetDefsPanel.megaBytes=Megabytes
-FilesSetDefsPanel.noSkipMsg=No, saltar
-FilesSetDefsPanel.saveError=Error al guardar conjuntos de archivos interesantes en el archivo.
-FilesSetDefsPanel.yesOwMsg=Si, sobrescribir
-FilesSetDefsPanel.yesStandardFileConflictCreate=Si, crear
-FilesSetPanel.filter.title=Filtro de Archivos
-FilesSetPanel.ingest.createNewFilter=Crear/editar filtros de ingestion de archivos...
-FilesSetPanel.ingest.messages.filtersMustBeNamed=Los filtros de ingestion de archivos deben tener un nombre.
-FilesSetPanel.rule.title=Regla de Filtro de Archivos
-FilesSetRulePanel.bytes=Bytes
-# {0} - regex
-FilesSetRulePanel.CommaInRegexWarning=Advertencia: Las comas en el campo de extension de archivo seran interpretadas como parte de una expresion regular y no dividiran la entrada en multiples extensiones (Entrada: "{0}")
-FilesSetRulePanel.DaysIncludedEmptyError=El numero de dias incluidos no puede estar vacio.
-FilesSetRulePanel.DaysIncludedInvalidError=El numero de dias incluidos debe ser un entero positivo.
-FilesSetRulePanel.gigaBytes=Gigabytes
-FilesSetRulePanel.kiloBytes=Kilobytes
-FilesSetRulePanel.megaBytes=Megabytes
-FilesSetRulePanel.nameTextField.extensionExample=Ejemplos: "jpg" o "jpg,jpeg,gif"
-FilesSetRulePanel.nameTextField.fullNameExample=Ejemplo: "archivo.exe"
-FilesSetRulePanel.NoConditionError=Debe haber al menos una condicion para crear una regla.
-FilesSetRulePanel.NoMimeTypeError=Selecciona un tipo MIME valido.
-FilesSetRulePanel.NoNameError=El nombre no puede estar vacio
-FilesSetRulePanel.NoPathError=La ruta no puede estar vacia
-FilesSetRulePanel.ZeroFileSizeError=El valor de la condicion de tamaño de archivo no debe ser 0 (a menos que se seleccione =).
-FilesSetsManager.allFilesAndDirectories=Todos los Archivos y Directorios (Excepto Espacio No Asignado)
-FilesSetsManager.allFilesDirectoriesAndUnallocated=Todos los Archivos, Directorios y Espacio No Asignado
-# {0} - regex
-InterestingItemsFilesSetSettings.readDateCondition.failedCompiledRegex=Error al determinar el numero ''{0}''
-# {0} - condicion
-# {1} - regla
-InterestingItemsFilesSetSettings.readMetaTypeCondition.malformedXml=El conjunto de archivos esta mal formado para la condicion de tipo de metadatos, ''{0}'', en la regla ''{1}''
-# {0} - regex
-# {1} - regla
-InterestingItemsFilesSetSettings.readNameCondition.errorCompilingRegex=Error al compilar la expresion regular ''{0}'' en la regla ''{1}''
-# {0} - caracter
-# {1} - regla
-InterestingItemsFilesSetSettings.readNameCondition.illegalChar=El nombre de archivo tiene un caracter no permitido: ''{0}'' en la regla ''{1}''
-# {0} - etiquetaNombre
-# {1} - nombreRegla
-InterestingItemsFilesSetSettings.readNameCondition.invalidTag=La condicion de nombre tiene una etiqueta invalida: ''{0}'' para la regla ''{1}''
-# {0} - regex
-InterestingItemsFilesSetSettings.readPathCondition.failedCompiledRegex=Error al compilar la expresion regular ''{0}''
-# {0} - nombreRegla
-InterestingItemsFilesSetSettings.readPathCondition.pathConditionCreationError=Error al crear la condicion de ruta para la regla ''{0}''
-# {0} - nombreRegla
-InterestingItemsFilesSetSettings.readRule.missingNecessary=Regla invalida en el conjunto de archivos, faltan las condiciones necesarias para ''{0}''
-# {0} - filePathStr
-InterestingItemsFilesSetSettings.readSerializedDefinitions.failedReadSettings=Error al leer la configuracion desde ''{0}''
-# {0} - regla
-InterestingItemsFilesSetSettings.readSizeCondition.invalidComparator=Comparador o unidad de tamaño invalidos en el conjunto de archivos para la regla ''{0}''
-# {0} - regla
-InterestingItemsFilesSetSettings.readSizeCondition.malformedXml=El conjunto de archivos esta mal formado, falta al menos un atributo 'fileSize' para la regla ''{0}''
-# {0} - regla
-InterestingItemsFilesSetSettings.readSizeCondition.notIntegerValue=Tamaño no entero en el conjunto de archivos para la regla ''{0}''
-InterestingItemsIngestModuleFactory.defaultSettingsError=Error al obtener la configuracion predeterminada de archivos interesantes desde el archivo.
-OpenIDE-Module-Display-Category=Modulo de Ingestion
-OpenIDE-Module-Long-Description=Modulo de ingestion de archivos interesantes. \n\n Identifica archivos interesantes segun las reglas definidas en conjuntos de reglas de archivos interesantes.
-OpenIDE-Module-Short-Description=Modulo de ingestion de archivos interesantes.
-OpenIDE-Module-Name=Identificador de Archivos Interesantes
-OptionsCategory_Name_InterestingItemDefinitions=Archivos Interesantes
-OptionsCategory_Keywords_InterestingItemDefinitions=DefinicionesItemsInteresantes
-InterestingItemsIdentifierIngestModule.moduleName=Identificador de Archivos Interesantes
-InterestingItemsIdentifierIngestModule.moduleDescription=Identifica elementos interesantes segun las reglas definidas en conjuntos de reglas de elementos interesantes.
-FilesSetPanel.interesting.title=Regla de Conjunto de Archivos Interesantes
-FilesSetPanel.interesting.messages.filesSetsMustBeNamed=Los conjuntos de archivos interesantes deben tener un nombre.
-FilesSetPanel.messages.filesSetsReservedName=Has elegido un nombre reservado por el software, por favor, elige un nombre diferente.
-FilesSetPanel.ignoreKnownFilesCheckbox.text=Ignorar Archivos Conocidos
-FilesSetPanel.descriptionPanel.border.title=Descripcion
-FilesSetPanel.interesting.nameLabel.text=Nombre del Conjunto:
-FilesSetPanel.ingest.nameLabel.text=Nombre del Filtro:
-FilesSetPanel.descPanel.border.title=Descripcion
-FilesSetPanel.ignoreUnallocCheckbox.toolTipText=Ignora el espacio no asignado, como archivos eliminados. Puede ser mas rapido pero producir resultados menos completos.
-FilesSetPanel.ignoreUnallocCheckbox.text=Ignorar Espacio No Asignado
-FilesSetRulePanel.title=Regla de Conjunto de Archivos Interesantes
-FilesSetRulePanel.extensionRadioButton.text=Solo Extension
-FilesSetRulePanel.pathRegexCheckBox.text=Expresion Regular
-FilesSetRulePanel.pathTextField.text=
-FilesSetRulePanel.fullNameRadioButton.text=Nombre Completo
-FilesSetRulePanel.nameRegexCheckbox.text=Subcadena / Expresion Regular
-FilesSetRulePanel.ruleNameTextField.text=
-FilesSetRulePanel.nameTextField.text=
-FilesSetRulePanel.ruleNameLabel.text=Nombre de la Regla (Opcional):
-FilesSetRulePanel.messages.emptyNameCondition=Debes especificar un patron de nombre para esta regla.
-FilesSetRulePanel.messages.invalidNameRegex=La expresion regular de nombre no es valida:\n\n{0}
-FilesSetRulePanel.messages.invalidCharInName=El nombre no puede contener \\, /, :, *, ?, \", < o > a menos que sea una expresion regular.
-FilesSetRulePanel.messages.invalidCharInPath=La ruta no puede contener \\, :, *, ?, \", < o > a menos que sea una expresion regular.
-FilesSetRulePanel.messages.invalidPathRegex=La expresion regular de ruta no es valida:\n\n{0}
-FilesSetDefsPanel.doFileSetsDialog.duplicateRuleSet.text=Ya existe un conjunto de reglas con el nombre {0}.
-FilesSetRulePanel.pathSeparatorInfoLabel.text=La carpeta debe estar en la ruta del directorio padre. Utiliza '/' para dar nombres consecutivos.
-FilesIdentifierIngestJobSettingsPanel.border.title=Selecciona los conjuntos de archivos interesantes para habilitar durante la ingestion:
-FilesSetRulePanel.jLabel1.text=Tipo:
-FilesSetRulePanel.interesting.jLabel5.text=Ingresa informacion sobre archivos que deseas encontrar.
-FilesSetRulePanel.ingest.jLabel5.text=Ingresa informacion sobre archivos en los que deseas realizar la ingestion.
-FilesSetRulePanel.nameCheck.text=Nombre:
-FilesSetRulePanel.pathCheck.text=Nombre de Carpeta:
-FilesSetRulePanel.filesRadioButton.text=Archivos
-FilesSetRulePanel.dirsRadioButton.text=Directorios
-FilesSetDefsPanel.interesting.setsListLabel.text=Conjuntos de Reglas:
-FilesSetDefsPanel.ingest.setsListLabel.text=Filtros de Archivo:
-FilesSetDefsPanel.interesting.jTextArea1.text=Este modulo te permite encontrar archivos que coincidan con criterios especificos. Cada conjunto tiene una lista de reglas, que coincidiran con las caracteristicas elegidas para los archivos. Un archivo solo necesita coincidir con una regla para ser encontrado.
-FilesSetDefsPanel.ingest.jTextArea1.text=Agrega reglas para que solo se analice un subconjunto de archivos en una fuente de datos. Las reglas estan organizadas en conjuntos y solo se puede utilizar un conjunto a la vez. Un archivo solo necesita coincidir con una regla para ser analizado.
-FilesSetDefsPanel.interesting.editSetButton.text=Editar Conjunto
-FilesSetDefsPanel.ingest.editSetButton.text=Editar Filtro
-FilesSetDefsPanel.interesting.newSetButton.text=Nuevo Conjunto
-FilesSetDefsPanel.ingest.newSetButton.text=Nuevo Filtro
-FilesSetDefsPanel.interesting.deleteSetButton.text=Eliminar Conjunto
-FilesSetDefsPanel.ingest.deleteSetButton.text=Eliminar Filtro
-FilesSetDefsPanel.interesting.jLabel6.text=Detalles del Conjunto
-FilesSetDefsPanel.ingest.jLabel6.text=Detalles del Filtro
-FilesSetDefsPanel.newRuleButton.text=Nueva Regla
-FilesSetDefsPanel.rulePathConditionRegexCheckBox.text=Expresion Regular
-FilesSetDefsPanel.dirsRadioButton.text=Directorios
-FilesSetDefsPanel.deleteRuleButton.text=Eliminar Regla
-FilesSetDefsPanel.fileNameRegexCheckbox.text=Subcadena / Expresion Regular
-FilesSetDefsPanel.ignoreKnownFilesCheckbox.text=Ignorar Archivos Conocidos
-FilesSetDefsPanel.rulePathConditionTextField.text=
-FilesSetDefsPanel.fileNameRadioButton.text=Nombre Completo
-FilesSetDefsPanel.fileNameTextField.text=
-FilesSetDefsPanel.fileNameExtensionRadioButton.text=Solo Extension
-FilesSetDefsPanel.rulesListLabel.text=Reglas:
-FilesSetDefsPanel.editRuleButton.text=Editar Regla
-FilesSetDefsPanel.filesRadioButton.text=Archivos
-FilesSetRulePanel.allRadioButton.text=Todo
-FilesSetDefsPanel.ingoreUnallocCheckbox.text=Ignorar Espacio No Asignado
-FilesSetDefsPanel.ingoreUnallocCheckbox.toolTipText=Ignora el espacio no asignado, como archivos eliminados. Puede ser mas rapido pero producir resultados menos completos.
-FilesSetDefsPanel.ingestWarningLabel.text=La ingestion esta en curso, algunas configuraciones no estaran disponibles hasta que termine.
-FilesSetDefsPanel.allRadioButton.text=Todo
-FilesSetRulePanel.dateCheck.text=Modificado en:
-FilesSetRulePanel.fileSizeCheck.text=Tamaño de Archivo:
-FilesSetRulePanel.mimeCheck.text=Tipo MIME:
-FilesSetDefsPanel.modifiedDateLabel.text=Modificado en:
-FilesSetDefsPanel.daysIncludedTextField.text=
-FilesSetDefsPanel.daysIncludedLabel.text=dia(s)
-FilesSetRulePanel.daysIncludedLabel.text=dia(s)
-FilesSetDefsPanel.nameLabel.text=Nombre:
-FilesSetDefsPanel.descriptionLabel.text=Descripcion:
-FilesSetDefsPanel.fileTypeLabel.text=Tipo de Archivo:
-FilesSetDefsPanel.ruleLabel.text=Detalles de la Regla
-FilesSetDefsPanel.pathLabel.text=Subcadena de Ruta:
-FilesSetDefsPanel.mimeTypeLabel.text=Tipo MIME:
-FilesSetDefsPanel.fileSizeLabel.text=Tamaño de Archivo:
-FilesSetRulePanel.ruleTypeLabel.text=Tipo de Regla:
-FilesSetRulePanel.inclusiveRuleTypeRadio.text=Incluir - los archivos que coincidan con esta regla seran incluidos en los resultados
-FilesSetRulePanel.exclusiveRuleTypeRadio.text=Excluir - los archivos que coincidan con esta regla seran excluidos de los resultados
-# {0} - nombreConjuntoArchivos
-StandardInterestingFileSetsLoader.customSuffixed={0} (Personalizado)
-StandardInterestingFilesSetsLoader_cannotLoadStandard=No se pudo leer correctamente los conjuntos de archivos interesantes estandar.
-StandardInterestingFilesSetsLoader_cannotLoadUserConfigured=No se pudo leer correctamente los conjuntos de archivos interesantes configurados por el usuario.
-StandardInterestingFilesSetsLoader_cannotUpdateInterestingFilesSets=No se pudo escribir la configuracion actualizada de conjuntos de archivos interesantes en el directorio de configuracion.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_es.properties
new file mode 100644
index 00000000000..f0bcb3ff034
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/interestingitems/Bundle_es.properties
@@ -0,0 +1,171 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+FileSet_fileIsMemberOf_noInclusiveRules_ruleName=No excluido
+FilesIdentifierIngestJobSettingsPanel.getError=Error al obtener los conjuntos de archivos interesantes del archivo de configuraci\u00f3n.
+FilesIdentifierIngestJobSettingsPanel.updateError=Error al actualizar el archivo de configuraci\u00f3n de los conjuntos de archivos interesantes.
+FilesIdentifierIngestModule.getFilesError=Error al obtener los conjuntos de archivos interesantes del archivo.
+FilesIdentifierIngestModule.indexError.message=No se pudo indexar el artefacto de coincidencia de archivo interesante para la b\u00fasqueda por palabra clave.
+FilesSet.rule.dateRule.toString=(modificado dentro de {0} d\u00eda(s))
+FilesSetDefsPanel.bytes=Bytes
+FilesSetDefsPanel.cancelImportMsg=Cancelar importaci\u00f3n
+FilesSetDefsPanel.cancelNewSetMsg=Cancelar
+FilesSetDefsPanel.exportButtonActionPerformed.fileExistPrompt=El archivo {0} ya existe, \u00bfDesea sobrescribirlo?
+FilesSetDefsPanel.gigaBytes=Gigabytes
+FilesSetDefsPanel.importSetButtonActionPerformed.importError=No se pudo leer el archivo de reglas "{0}":\n{1}.
+FilesSetDefsPanel.importSetButtonActionPerformed.noFiles=No se encontraron conjuntos de archivos en los archivos seleccionados.
+FilesSetDefsPanel.importSetButtonActionPerformed.noFilesSelected=No se seleccionaron conjuntos de archivos.
+FilesSetDefsPanel.ingest.fileFilterInUseError=El filtro de archivos seleccionado, {0}, est\u00e1 siendo usado por un perfil, {1}, y no se puede eliminar mientras alg\u00fan perfil lo utilice.
+FilesSetDefsPanel.Ingest.Title=Configuraci\u00f3n de filtros de archivos
+FilesSetDefsPanel.interesting.copySetButton.text=Copiar conjunto
+FilesSetDefsPanel.interesting.exportButtonAction.featureName=Exportar conjunto de archivos interesantes
+FilesSetDefsPanel.interesting.ExportedMsg=Conjunto de archivos interesantes exportado
+FilesSetDefsPanel.interesting.exportSetButton.text=Exportar conjunto
+FilesSetDefsPanel.interesting.failExportMsg=Fallo la exportaci\u00f3n del conjunto de archivos interesantes
+FilesSetDefsPanel.interesting.failImportMsg=No se import\u00f3 el conjunto de archivos interesantes
+FilesSetDefsPanel.interesting.fileExtensionFilterLbl=Archivo de conjunto de archivos interesantes de Autopsy (xml)
+FilesSetDefsPanel.interesting.importButtonAction.featureName=Importar conjunto de archivos interesantes
+FilesSetDefsPanel.interesting.importOwConflict=Conflicto al importar conjunto de archivos interesantes
+FilesSetDefsPanel.interesting.importSetButton.text=Importar conjunto
+FilesSetDefsPanel.interesting.newOwConflict=Conflicto en conjunto de archivos interesantes
+FilesSetDefsPanel.interesting.overwriteSetPrompt=El conjunto de archivos interesantes \"{0}\" ya existe localmente, \u00bfDesea sobrescribirlo?
+FilesSetDefsPanel.interesting.standardFileConflict=Ya existe un conjunto de archivos interesantes est\u00e1ndar con el nombre \"{0}\". \u00bfDesea renombrar su conjunto a \"{1}\"?
+FilesSetDefsPanel.Interesting.Title=Configuraci\u00f3n global de elementos interesantes
+FilesSetDefsPanel.kiloBytes=Kilobytes
+FilesSetDefsPanel.loadError=Error al cargar los conjuntos de archivos interesantes desde el archivo.
+FilesSetDefsPanel.megaBytes=Megabytes
+FilesSetDefsPanel.noSkipMsg=No, omitir
+FilesSetDefsPanel.saveError=Error al guardar los conjuntos de archivos interesantes en el archivo.
+FilesSetDefsPanel.yesOwMsg=S\u00ed, sobrescribir
+FilesSetDefsPanel.yesStandardFileConflictCreate=S\u00ed, crear
+FilesSetPanel.filter.title=Filtro de archivos
+FilesSetPanel.ingest.createNewFilter=Crear/editar filtros de ingesta de archivos...
+FilesSetPanel.ingest.messages.filtersMustBeNamed=Los filtros de ingesta de archivos deben tener un nombre.
+FilesSetPanel.rule.title=Regla de filtro de archivos
+FilesSetRulePanel.bytes=Bytes
+FilesSetRulePanel.CommaInRegexWarning=Advertencia: Las comas en el campo de extensi\u00f3n de archivo se interpretar\u00e1n como parte de una expresi\u00f3n regular y no dividir\u00e1n la entrada en varias extensiones (Ingresado: \"{0}\")
+FilesSetRulePanel.DaysIncludedEmptyError=El n\u00famero de d\u00edas incluidos no puede estar vac\u00edo.
+FilesSetRulePanel.DaysIncludedInvalidError=El n\u00famero de d\u00edas incluidos debe ser un entero positivo.
+FilesSetRulePanel.gigaBytes=Gigabytes
+FilesSetRulePanel.kiloBytes=Kilobytes
+FilesSetRulePanel.megaBytes=Megabytes
+FilesSetRulePanel.nameTextField.extensionExample=Ejemplos: \"jpg\" o \"jpg,jpeg,gif\"
+FilesSetRulePanel.nameTextField.fullNameExample=Ejemplo: \"archivo.exe\"
+FilesSetRulePanel.NoConditionError=Debe haber al menos una condici\u00f3n para crear una regla.
+FilesSetRulePanel.NoMimeTypeError=Por favor seleccione un tipo MIME v\u00e1lido.
+FilesSetRulePanel.NoNameError=El nombre no puede estar vac\u00edo
+FilesSetRulePanel.NoPathError=La ruta no puede estar vac\u00eda
+FilesSetRulePanel.ZeroFileSizeError=El valor de la condici\u00f3n de tama\u00f1o de archivo no debe ser 0 (A menos que se seleccione =).
+FilesSetsManager.allFilesAndDirectories=Todos los archivos y directorios (sin espacio no asignado)
+FilesSetsManager.allFilesDirectoriesAndUnallocated=Todos los archivos, directorios y espacio no asignado
+InterestingItemsFilesSetSettings.readDateCondition.failedCompiledRegex=Error al determinar el n\u00famero ''{0}''
+InterestingItemsFilesSetSettings.readMetaTypeCondition.malformedXml=El conjunto de archivos est\u00e1 mal formado para la condici\u00f3n de metatipo, ''{0}'', en la regla ''{1}''
+InterestingItemsFilesSetSettings.readNameCondition.errorCompilingRegex=Error al compilar la expresi\u00f3n regular ''{0}'' en la regla ''{1}''
+InterestingItemsFilesSetSettings.readNameCondition.illegalChar=El nombre del archivo tiene un caracter no permitido: ''{0}'' en la regla ''{1}''
+InterestingItemsFilesSetSettings.readNameCondition.invalidTag=La condici\u00f3n de nombre tiene un nombre de etiqueta no v\u00e1lido: ''{0}'' para la regla ''{1}''
+InterestingItemsFilesSetSettings.readPathCondition.failedCompiledRegex=Error al compilar la expresi\u00f3n regular ''{0}''
+InterestingItemsFilesSetSettings.readPathCondition.pathConditionCreationError=Error al crear la condici\u00f3n de ruta para la regla ''{0}''
+InterestingItemsFilesSetSettings.readRule.missingNecessary=Regla inv\u00e1lida en el conjunto de archivos, falta al menos una condici\u00f3n necesaria para ''{0}''
+InterestingItemsFilesSetSettings.readSerializedDefinitions.failedReadSettings=No se pudo leer la configuraci\u00f3n desde ''{0}''
+InterestingItemsFilesSetSettings.readSizeCondition.invalidComparator=Comparador o unidad de tama\u00f1o inv\u00e1lido en el conjunto de archivos para la regla ''{0}''
+InterestingItemsFilesSetSettings.readSizeCondition.malformedXml=El conjunto de archivos est\u00e1 mal formado, falta al menos un atributo 'fileSize' para la regla ''{0}''
+InterestingItemsFilesSetSettings.readSizeCondition.notIntegerValue=Tama\u00f1o no entero en el conjunto de archivos para la regla ''{0}''
+InterestingItemsIngestModuleFactory.defaultSettingsError=Error al obtener la configuraci\u00f3n predeterminada de archivos interesantes desde el archivo.
+OpenIDE-Module-Display-Category=M\u00f3dulo de Ingesta
+OpenIDE-Module-Long-Description=M\u00f3dulo de ingesta de identificaci\u00f3n de archivos interesantes. \n\n Identifica archivos interesantes seg\u00fan lo definido por los conjuntos de reglas de archivos interesantes.
+OpenIDE-Module-Short-Description=M\u00f3dulo de ingesta de identificaci\u00f3n de archivos interesantes.
+OpenIDE-Module-Name=Identificador de Archivos Interesantes
+OptionsCategory_Name_InterestingItemDefinitions=Archivos Interesantes
+OptionsCategory_Keywords_InterestingItemDefinitions=DefinicionesDeArchivosInteresantes
+InterestingItemsIdentifierIngestModule.moduleName=Identificador de Archivos Interesantes
+InterestingItemsIdentifierIngestModule.moduleDescription=Identifica elementos interesantes seg\u00fan lo definido por los conjuntos de reglas de elementos interesantes.
+FilesSetPanel.interesting.title=Regla de Conjunto de Archivos Interesantes
+FilesSetPanel.interesting.messages.filesSetsMustBeNamed=Los conjuntos de archivos interesantes deben tener un nombre.
+FilesSetPanel.messages.filesSetsReservedName=Ha elegido un nombre reservado por el software, por favor elija un nombre diferente.
+FilesSetPanel.ignoreKnownFilesCheckbox.text=Ignorar Archivos Conocidos
+FilesSetPanel.descriptionPanel.border.title=Descripci\u00f3n
+FilesSetPanel.interesting.nameLabel.text=Nombre del Conjunto:
+FilesSetPanel.ingest.nameLabel.text=Nombre del Filtro:
+FilesSetPanel.descPanel.border.title=Descripci\u00f3n
+FilesSetPanel.ignoreUnallocCheckbox.toolTipText=Ignora el espacio no asignado, como los archivos eliminados. Puede ejecutarse m\u00e1s r\u00e1pido pero producir resultados menos completos.
+FilesSetPanel.ignoreUnallocCheckbox.text=Ignorar Espacio No Asignado
+FilesSetRulePanel.title=Regla de Conjunto de Archivos Interesantes
+FilesSetRulePanel.extensionRadioButton.text=Solo Extensi\u00f3n
+FilesSetRulePanel.pathRegexCheckBox.text=Regex
+FilesSetRulePanel.pathTextField.text=
+FilesSetRulePanel.fullNameRadioButton.text=Nombre Completo
+FilesSetRulePanel.nameRegexCheckbox.text=Subcadena / Regex
+FilesSetRulePanel.ruleNameTextField.text=
+FilesSetRulePanel.nameTextField.text=
+FilesSetRulePanel.ruleNameLabel.text=Nombre de la Regla (Opcional):
+FilesSetRulePanel.messages.emptyNameCondition=Debe especificar un patr\u00f3n de nombre para esta regla.
+FilesSetRulePanel.messages.invalidNameRegex=La expresi\u00f3n regular del nombre no es v\u00e1lida:\n\n{0}
+FilesSetRulePanel.messages.invalidCharInName=El nombre no puede contener \\, /, :, *, ?, \", <, o > a menos que sea una expresi\u00f3n regular.
+FilesSetRulePanel.messages.invalidCharInPath=La ruta no puede contener \\, :, *, ?, \", <, o > a menos que sea una expresi\u00f3n regular.
+FilesSetRulePanel.messages.invalidPathRegex=La expresi\u00f3n regular de la ruta no es v\u00e1lida:\n\n{0}
+FilesSetDefsPanel.doFileSetsDialog.duplicateRuleSet.text=Ya existe un conjunto de reglas con el nombre {0}.
+FilesSetRulePanel.pathSeparatorInfoLabel.text=La carpeta debe estar en la ruta principal. Use '/' para indicar nombres consecutivos
+FilesIdentifierIngestJobSettingsPanel.border.title=Seleccionar conjuntos de archivos interesantes para habilitar durante la ingesta:
+FilesSetRulePanel.jLabel1.text=Tipo:
+FilesSetRulePanel.interesting.jLabel5.text=Ingrese informaci\u00f3n sobre los archivos que desea encontrar.
+FilesSetRulePanel.ingest.jLabel5.text=Ingrese informaci\u00f3n sobre los archivos en los que desea ejecutar la ingesta.
+FilesSetRulePanel.nameCheck.text=Nombre:
+FilesSetRulePanel.pathCheck.text=Nombre de Carpeta:
+FilesSetRulePanel.filesRadioButton.text=Archivos
+FilesSetRulePanel.dirsRadioButton.text=Directorios
+FilesSetDefsPanel.interesting.setsListLabel.text=Conjuntos de Reglas:
+FilesSetDefsPanel.ingest.setsListLabel.text=Filtros de Archivos:
+FilesSetDefsPanel.interesting.jTextArea1.text=Este m\u00f3dulo le permite encontrar archivos que coincidan con criterios especificados. Cada conjunto tiene una lista de reglas, que coincidir\u00e1n con las caracter\u00edsticas de archivo elegidas. Un archivo solo necesita coincidir con una regla para ser encontrado.
+FilesSetDefsPanel.ingest.jTextArea1.text=A\u00f1ada reglas para que solo se analice un subconjunto de los archivos en una fuente de datos. Las reglas se organizan en conjuntos y solo se puede usar un conjunto a la vez. Un archivo solo necesita coincidir con una regla para ser analizado.
+FilesSetDefsPanel.interesting.editSetButton.text=Editar Conjunto
+FilesSetDefsPanel.ingest.editSetButton.text=Editar Filtro
+FilesSetDefsPanel.interesting.newSetButton.text=Nuevo Conjunto
+FilesSetDefsPanel.ingest.newSetButton.text=Nuevo Filtro
+FilesSetDefsPanel.interesting.deleteSetButton.text=Eliminar Conjunto
+FilesSetDefsPanel.ingest.deleteSetButton.text=Eliminar Filtro
+FilesSetDefsPanel.interesting.jLabel6.text=Detalles del Conjunto
+FilesSetDefsPanel.ingest.jLabel6.text=Detalles del Filtro
+FilesSetDefsPanel.newRuleButton.text=Nueva Regla
+FilesSetDefsPanel.rulePathConditionRegexCheckBox.text=Regex
+FilesSetDefsPanel.dirsRadioButton.text=Directorios
+FilesSetDefsPanel.deleteRuleButton.text=Eliminar Regla
+FilesSetDefsPanel.fileNameRegexCheckbox.text=Subcadena / Regex
+FilesSetDefsPanel.ignoreKnownFilesCheckbox.text=Ignorar Archivos Conocidos
+FilesSetDefsPanel.rulePathConditionTextField.text=
+FilesSetDefsPanel.fileNameRadioButton.text=Nombre Completo
+FilesSetDefsPanel.fileNameTextField.text=
+FilesSetDefsPanel.fileNameExtensionRadioButton.text=Solo Extensi\u00f3n
+FilesSetDefsPanel.rulesListLabel.text=Reglas:
+FilesSetDefsPanel.editRuleButton.text=Editar Regla
+FilesSetDefsPanel.filesRadioButton.text=Archivos
+FilesSetRulePanel.allRadioButton.text=Todos
+FilesSetDefsPanel.ingoreUnallocCheckbox.text=Ignorar Espacio No Asignado
+FilesSetDefsPanel.ingoreUnallocCheckbox.toolTipText=Ignora el espacio no asignado, como archivos eliminados. Puede ejecutarse m\u00e1s r\u00e1pido pero producir resultados menos completos.
+FilesSetDefsPanel.ingestWarningLabel.text=El proceso de ingest est\u00e1 en curso, algunas configuraciones no estar\u00e1n disponibles hasta que finalice.
+FilesSetDefsPanel.allRadioButton.text=Todos
+FilesSetRulePanel.dateCheck.text=Modificado Dentro de:
+FilesSetRulePanel.fileSizeCheck.text=Tama\u00f1o del Archivo:
+FilesSetRulePanel.mimeCheck.text=Tipo MIME:
+FilesSetDefsPanel.modifiedDateLabel.text=Modificado Dentro de:
+FilesSetDefsPanel.daysIncludedTextField.text=
+FilesSetDefsPanel.daysIncludedLabel.text=d\u00eda(s)
+FilesSetRulePanel.daysIncludedLabel.text=d\u00eda(s)
+FilesSetDefsPanel.nameLabel.text=Nombre:
+FilesSetDefsPanel.descriptionLabel.text=Descripci\u00f3n:
+FilesSetDefsPanel.fileTypeLabel.text=Tipo de Archivo:
+FilesSetDefsPanel.ruleLabel.text=Detalles de la Regla
+FilesSetDefsPanel.pathLabel.text=Subcadena de Ruta:
+FilesSetDefsPanel.mimeTypeLabel.text=Tipo MIME:
+FilesSetDefsPanel.fileSizeLabel.text=Tama\u00f1o del Archivo:
+FilesSetRulePanel.ruleTypeLabel.text=Tipo de Regla:
+FilesSetRulePanel.inclusiveRuleTypeRadio.text=Incluir - los archivos que coincidan con esta regla ser\u00e1n incluidos en los resultados
+FilesSetRulePanel.exclusiveRuleTypeRadio.text=Excluir - los archivos que coincidan con esta regla ser\u00e1n excluidos de los resultados
+# {0} - filesSetName
+StandardInterestingFileSetsLoader.customSuffixed={0} (Personalizado)
+StandardInterestingFilesSetsLoader_cannotLoadStandard=No se puede leer correctamente los conjuntos de archivos interesantes est\u00e1ndar.
+StandardInterestingFilesSetsLoader_cannotLoadUserConfigured=No se puede leer correctamente los conjuntos de archivos interesantes configurados por el usuario.
+StandardInterestingFilesSetsLoader_cannotUpdateInterestingFilesSets=No se puede escribir la configuraci\u00f3n actualizada de los conjuntos de archivos interesantes en el directorio de configuraci\u00f3n.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/Bundle_ar.properties
deleted file mode 100644
index 6c31051c0b6..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/Bundle_ar.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-ALeappAnalyzerIngestModule.aLeapp.cancelled=Ejecucion de aLeapp cancelada
-ALeappAnalyzerIngestModule.completed=Procesamiento de aLeapp completado
-ALeappAnalyzerIngestModule.error.creating.output.dir=Error al crear el directorio de salida del modulo aLeapp.
-ALeappAnalyzerIngestModule.error.ileapp.file.processor.init=Error al inicializar aLeappProcessFile
-ALeappAnalyzerIngestModule.error.running.aLeapp=Error al ejecutar aLeapp, consulte el archivo de registro.
-ALeappAnalyzerIngestModule.executable.not.found=Ejecutable aLeapp no encontrado.
-ALeappAnalyzerIngestModule.has.run=Ha ejecutado aLeapp
-ALeappAnalyzerIngestModule.report.name=Informe HTML de aLeapp
-ALeappAnalyzerIngestModule.requires.windows=El modulo aLeapp requiere Windows.
-ALeappAnalyzerIngestModule.running.aLeapp=Ejecutando aLeapp
-ALeappAnalyzerIngestModule_processing_aLeapp_results=Procesando los resultados de aLeapp
-ALeappAnalyzerModuleFactory_moduleDesc=Utiliza aLEAPP para analizar adquisiciones logicas de dispositivos Android.
-ALeappAnalyzerModuleFactory_moduleName=Analizador de Android (aLEAPP)
-ILeappAnalyzerIngestModule.completed=Procesamiento de iLeapp completado
-ILeappAnalyzerIngestModule.error.creating.output.dir=Error al crear el directorio de salida del modulo iLeapp.
-ILeappAnalyzerIngestModule.error.ileapp.file.processor.init=Error al inicializar ILeappProcessFile
-ILeappAnalyzerIngestModule.error.running.iLeapp=Error al ejecutar iLeapp, consulte el archivo de registro.
-ILeappAnalyzerIngestModule.executable.not.found=Ejecutable iLeapp no encontrado.
-ILeappAnalyzerIngestModule.has.run=Ha ejecutado iLeapp
-ILeappAnalyzerIngestModule.iLeapp.cancelled=Ejecucion de iLeapp cancelada
-ILeappAnalyzerIngestModule.init.exception.msg=No se puede encontrar {0}.
-ILeappAnalyzerIngestModule.processing.file=Procesando archivo {0}
-ILeappAnalyzerIngestModule.parsing.file=Analizando archivo {0}
-ILeappAnalyzerIngestModule.processing.filesystem=Procesando sistema de archivos
-IleappAnalyzerIngestModule.not.64.bit.os=iLeapp no se ejecutara en un sistema operativo de 32 bits
-ALeappAnalyzerIngestModule.init.exception.msg=No se puede encontrar {0}.
-ALeappAnalyzerIngestModule.processing.file=Procesando archivo {0}
-ALeappAnalyzerIngestModule.parsing.file=Analizando archivo {0}
-ALeappAnalyzerIngestModule.processing.filesystem=Procesando sistema de archivos
-AleappAnalyzerIngestModule.not.64.bit.os=aLeapp no se ejecutara en un sistema operativo de 32 bits
-ILeappAnalyzerIngestModule.report.name=Informe HTML de iLeapp
-ILeappAnalyzerIngestModule.requires.windows=El modulo iLeapp requiere Windows.
-ILeappAnalyzerIngestModule.running.iLeapp=Ejecutando iLeapp
-ILeappAnalyzerIngestModule_processing_iLeapp_results=Procesando los resultados de iLeapp
-ILeappAnalyzerModuleFactory_moduleDesc=Utiliza iLEAPP para analizar adquisiciones logicas de dispositivos iOS.
-ILeappAnalyzerModuleFactory_moduleName=Analizador de iOS (iLEAPP)
-LeappFileProcessor.cannot.create.calllog.relationship=No se puede crear la relacion TSK_CALLLOG.
-LeappFileProcessor.cannot.create.contact.relationship=No se puede crear la relacion TSK_CONTACT.
-LeappFileProcessor.cannot.create.message.relationship=No se puede crear la relacion TSK_MESSAGE.
-LeappFileProcessor.cannot.create.trackpoint.relationship=No se puede crear el artefacto TSK_TRACK_POINT.
-LeappFileProcessor.cannot.create.waypoint.relationship=No se puede crear el artefacto TSK_WAYPOINT.
-LeappFileProcessor.cannot.load.artifact.xml=No se puede cargar el archivo de artefacto XML.
-LeappFileProcessor.cannotBuildXmlParser=No se puede construir un analizador XML.
-LeappFileProcessor.completed=Procesamiento de Leapp completado
-LeappFileProcessor.error.creating.new.artifacts=Error al crear nuevos artefactos.
-LeappFileProcessor.error.creating.output.dir=Error al crear el directorio de salida del modulo Leapp.
-LeappFileProcessor.error.reading.Leapp.directory=Error al leer el directorio de salida de Leapp.
-LeappFileProcessor.error.running.Leapp=Error al ejecutar Leapp, consulte el archivo de registro.
-LeappFileProcessor.findTsv=Buscando toda la salida de Leapp
-LeappFileProcessor.has.run=Ha ejecutado Leapp
-LeappFileProcessor.Leapp.cancelled=Ejecucion de Leapp cancelada
-LeappFileProcessor.postartifacts_error=Error al publicar el artefacto de Blackboard.
-LeappFileProcessor.running.Leapp=Ejecutando Leapp
-LeappFileProcessor.starting.Leapp=Iniciando Leapp
-# {0} - nombreArchivo
-LeappFileProcessor.tsvProcessed=Procesando archivo de salida de LEAPP: {0}
-LeappFileProcessor_cannotParseXml=No se puede analizar el archivo XML.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/Bundle_es.properties
new file mode 100644
index 00000000000..dfab00c376b
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/leappanalyzers/Bundle_es.properties
@@ -0,0 +1,64 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ALeappAnalyzerIngestModule.aLeapp.cancelled=La ejecuci\u00f3n de aLeapp fue cancelada
+ALeappAnalyzerIngestModule.completed=Procesamiento de aLeapp completado
+ALeappAnalyzerIngestModule.error.aleapp.file.processor.init=Fallo al inicializar aLeappProcessFile
+ALeappAnalyzerIngestModule.error.creating.output.dir=Error al crear el directorio de salida del m\u00f3dulo aLeapp.
+ALeappAnalyzerIngestModule.error.running.aLeapp=Error al ejecutar aLeapp, ver archivo de registro.
+ALeappAnalyzerIngestModule.executable.not.found=Ejecutable de aLeapp no encontrado.
+ALeappAnalyzerIngestModule.has.run=aLeapp
+ALeappAnalyzerIngestModule.report.name=Informe HTML de aLeapp
+ALeappAnalyzerIngestModule.requires.windows=El m\u00f3dulo aLeapp requiere Windows.
+ALeappAnalyzerIngestModule.running.aLeapp=Ejecutando aLeapp
+ALeappAnalyzerIngestModule_processing_aLeapp_results=Procesando resultados de aLeapp
+ALeappAnalyzerModuleFactory_moduleDesc=Usa aLEAPP para analizar adquisiciones l\u00f3gicas de dispositivos Android.
+ALeappAnalyzerModuleFactory_moduleName=Analizador Android (aLEAPP)
+ILeappAnalyzerIngestModule.completed=Procesamiento de iLeapp completado
+ILeappAnalyzerIngestModule.error.creating.output.dir=Error al crear el directorio de salida del m\u00f3dulo iLeapp.
+ILeappAnalyzerIngestModule.error.ileapp.file.processor.init=Fallo al inicializar ILeappProcessFile
+ILeappAnalyzerIngestModule.error.running.iLeapp=Error al ejecutar iLeapp, ver archivo de registro.
+ILeappAnalyzerIngestModule.executable.not.found=Ejecutable de iLeapp no encontrado.
+ILeappAnalyzerIngestModule.has.run=iLeapp
+ILeappAnalyzerIngestModule.iLeapp.cancelled=La ejecuci\u00f3n de iLeapp fue cancelada
+ILeappAnalyzerIngestModule.init.exception.msg=No se pudo encontrar {0}.
+ILeappAnalyzerIngestModule.processing.file=Procesando archivo {0}
+ILeappAnalyzerIngestModule.parsing.file=Analizando archivo {0}
+ILeappAnalyzerIngestModule.processing.filesystem=Procesando sistema de archivos
+IleappAnalyzerIngestModule.not.64.bit.os=iLeapp no se ejecutar\u00e1 en un sistema operativo de 32 bits
+ALeappAnalyzerIngestModule.init.exception.msg=No se pudo encontrar {0}.
+ALeappAnalyzerIngestModule.processing.file=Procesando archivo {0}
+ALeappAnalyzerIngestModule.parsing.file=Analizando archivo {0}
+ALeappAnalyzerIngestModule.processing.filesystem=Procesando sistema de archivos
+AleappAnalyzerIngestModule.not.64.bit.os=aLeapp no se ejecutar\u00e1 en un sistema operativo de 32 bits
+ILeappAnalyzerIngestModule.report.name=Informe HTML de iLeapp
+ILeappAnalyzerIngestModule.requires.windows=El m\u00f3dulo iLeapp requiere Windows.
+ILeappAnalyzerIngestModule.running.iLeapp=Ejecutando iLeapp
+ILeappAnalyzerIngestModule_processing_iLeapp_results=Procesando resultados de iLeapp
+ILeappAnalyzerModuleFactory_moduleDesc=Usa iLEAPP para analizar adquisiciones l\u00f3gicas de dispositivos iOS.
+ILeappAnalyzerModuleFactory_moduleName=Analizador iOS (iLEAPP)
+LeappFileProcessor.cannot.create.calllog.relationship=No se puede crear la relaci\u00f3n TSK_CALLLOG.
+LeappFileProcessor.cannot.create.contact.relationship=No se puede crear la relaci\u00f3n TSK_CONTACT.
+LeappFileProcessor.cannot.create.message.relationship=No se puede crear la relaci\u00f3n TSK_MESSAGE.
+LeappFileProcessor.cannot.create.trackpoint.relationship=No se puede crear el artefacto TSK_TRACK_POINT.
+LeappFileProcessor.cannot.create.waypoint.relationship=No se puede crear el artefacto TSK_WAYPOINT.
+LeappFileProcessor.cannot.load.artifact.xml=No se puede cargar el archivo xml de artefactos.
+LeappFileProcessor.cannotBuildXmlParser=No se puede construir un analizador XML.
+LeappFileProcessor.completed=Procesamiento de Leapp completado
+LeappFileProcessor.error.creating.new.artifacts=Error al crear nuevos artefactos.
+LeappFileProcessor.error.creating.output.dir=Error al crear el directorio de salida del m\u00f3dulo Leapp.
+LeappFileProcessor.error.reading.Leapp.directory=Error al leer el directorio de salida de Leapp
+LeappFileProcessor.error.running.Leapp=Error al ejecutar Leapp, ver archivo de registro.
+LeappFileProcessor.findTsv=Buscando toda la salida de Leapp
+LeappFileProcessor.has.run=Leapp
+LeappFileProcessor.Leapp.cancelled=La ejecuci\u00f3n de Leapp fue cancelada
+LeappFileProcessor.postartifacts_error=Error al publicar artefacto en Blackboard
+LeappFileProcessor.running.Leapp=Ejecutando Leapp
+LeappFileProcessor.starting.Leapp=Iniciando Leapp
+# {0} - fileName
+LeappFileProcessor.tsvProcessed=Procesando archivo de salida LEAPP: {0}
+LeappFileProcessor_cannotParseXml=No se puede analizar el archivo XML.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_ar.properties
deleted file mode 100644
index d383a2dac49..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_ar.properties
+++ /dev/null
@@ -1,40 +0,0 @@
-# {0} - nombre del directorio de salida
-cannotCreateOutputDir.message=No se puede crear el directorio de salida: {0}.
-cannotRunExecutable.message=No se puede ejecutar PhotoRec.
-missingExecutable.message=No se puede encontrar el ejecutable de PhotoRec.
-OpenIDE-Module-Name=Modulo de ingreso PhotoRec Carver
-OpenIDE-Module-Display-Category=Modulo de ingreso
-OpenIDE-Module-Long-Description=Modulo de ingreso PhotoRec Carver. \n\n Recupera informacion de espacio no asignado y alimenta los archivos recuperados resultantes nuevamente en el sistema para su procesamiento.
-OpenIDE-Module-Short-Description=Recupera informacion de espacio no asignado y alimenta archivos recuperados nuevamente en el sistema para su procesamiento.
-moduleDisplayName.text=Recuperador de PhotoRec
-moduleDescription.text=Ejecuta el recuperador de PhotoRec en el espacio no asignado de la fuente de datos.
-# {0} - extensiones
-PhotoRecCarverFileIngestModule_startUp_invalidExtensions_description=Las siguientes extensiones no son validas: {0}
-PhotoRecCarverFileIngestModule_startUp_noExtensionsProvided_description=No se proporcionaron extensiones para que PhotoRec las recupere.
-PhotoRecIngestModule.nonHostnameUNCPathUsed=PhotoRec no puede operar con una ruta UNC que contenga direcciones IP.
-PhotoRecIngestModule.PermissionsNotSufficient=Permisos insuficientes para acceder a
-PhotoRecIngestModule.PermissionsNotSufficientSeeReference=Consulte 'Autenticacion de unidad compartida' en la ayuda de Autopsy.
-PhotoRecIngestModule.processTerminated=El modulo de ingreso PhotoRec Carver se detuvo debido a que se excedio el tiempo maximo permitido al escanear
-PhotoRecIngestModule.moduleError=Error del modulo de ingreso PhotoRec Carver
-PhotoRecIngestModule.UnableToCarve=No se puede recuperar el archivo: {0}
-PhotoRecIngestModule.NotEnoughDiskSpace=No hay suficiente espacio en disco para guardar el archivo no asignado. Se omitira la recuperacion.
-PhotoRecIngestModule.complete.numberOfCarved=Numero de archivos recuperados:
-PhotoRecIngestModule.complete.totalWritetime=Tiempo total de escritura en disco:
-PhotoRecIngestModule.complete.totalParsetime=Tiempo total de analisis:
-PhotoRecIngestModule.complete.photoRecResults=Resultados de PhotoRec
-PhotoRecIngestModule.NotEnoughDiskSpace.detail.msg=Error de PhotoRec al procesar {0} con {1}. No hay suficiente espacio en el disco principal para guardar el espacio no asignado.
-PhotoRecIngestModule.cancelledByUser=PhotoRec cancelado por el usuario.
-PhotoRecIngestModule.error.exitValue=El recuperador de PhotoRec devolvio un valor de salida de error \= {0} al escanear {1}
-PhotoRecIngestModule.error.msg=Error al procesar {0} con el recuperador de PhotoRec.
-PhotoRecIngestModule.complete.numberOfErrors=Numero de errores al recuperar:
-PhotoRecCarverIngestJobSettingsPanel.detectionSettingsLabel.text=Configuracion de PhotoRec
-PhotoRecCarverIngestJobSettingsPanel.keepCorruptedFilesCheckbox.text=Mantener archivos corruptos
-PhotoRecCarverIngestJobSettingsPanel.includeExcludeCheckbox.text=Enfocarse en ciertos tipos de archivo
-PhotoRecCarverIngestJobSettingsPanel.fullListOfTypesLabel.text=Lista completa de tipos:
-PhotoRecCarverIngestJobSettingsPanel.exampleLabel.text=Ejemplo: jpg,png,zip
-PhotoRecCarverIngestJobSettingsPanel.extensionListTextfield.text=
-PhotoRecCarverIngestJobSettingsPanel.extensionListLabel.text=Tipos (lista de extensiones separadas por comas)
-PhotoRecCarverIngestJobSettingsPanel.excludeRadioButton.text=Excluir los tipos especificados
-PhotoRecCarverIngestJobSettingsPanel.includeRadioButton.text=Incluir solo los tipos especificados
-unallocatedSpaceProcessingSettingsError.message=El filtro de ingreso de archivos seleccionado ignora el espacio no asignado. Este modulo recupera espacio no asignado. Por favor, elija un filtro que no ignore el espacio no asignado o desactive este modulo.
-unsupportedOS.message=El modulo de PhotoRec solo es compatible con plataformas Windows.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_es.properties
new file mode 100644
index 00000000000..5a6f6c178b4
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/photoreccarver/Bundle_es.properties
@@ -0,0 +1,47 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+# {0} - output directory name
+cannotCreateOutputDir.message=No se pudo crear el directorio de salida: {0}.
+cannotRunExecutable.message=No se pudo ejecutar PhotoRec.
+missingExecutable.message=No se pudo encontrar el ejecutable de PhotoRec.
+OpenIDE-Module-Name=M\u00f3dulo de Ingesta de PhotoRec Carver
+OpenIDE-Module-Display-Category=M\u00f3dulo de Ingesta
+OpenIDE-Module-Long-Description=M\u00f3dulo de ingesta de PhotoRec Carver. \n\n Escarba el espacio no asignado y reingresa los archivos extra\u00eddos al sistema para su procesamiento.
+OpenIDE-Module-Short-Description=Escarba el espacio no asignado y reingresa los archivos extra\u00eddos al sistema para su procesamiento.
+moduleDisplayName.text=PhotoRec Carver
+moduleDescription.text=Ejecuta el escarbador PhotoRec en el espacio no asignado de la fuente de datos.
+# {0} - extensions
+PhotoRecCarverFileIngestModule_startUp_invalidExtensions_description=Las siguientes extensiones no son v\u00e1lidas: {0}
+PhotoRecCarverFileIngestModule_startUp_noExtensionsProvided_description=No se proporcionaron extensiones para que PhotoRec escarbe.
+PhotoRecIngestModule.nonHostnameUNCPathUsed=PhotoRec no puede operar con una ruta UNC que contenga direcciones IP.
+PhotoRecIngestModule.PermissionsNotSufficient=Permisos insuficientes para acceder
+PhotoRecIngestModule.PermissionsNotSufficientSeeReference=Consulta 'Autenticaci\u00f3n de unidad compartida' en la ayuda de Autopsy.
+PhotoRecIngestModule.processTerminated=El m\u00f3dulo de ingesta PhotoRec Carver fue terminado por exceder el tiempo m\u00e1ximo permitido durante el escaneo
+PhotoRecIngestModule.moduleError=Error del m\u00f3dulo PhotoRec Carver
+PhotoRecIngestModule.UnableToCarve=No se pudo escarbar el archivo: {0}
+PhotoRecIngestModule.NotEnoughDiskSpace=Espacio en disco insuficiente para guardar el archivo no asignado. Se omitir\u00e1 el escarbado.
+PhotoRecIngestModule.complete.numberOfCarved=N\u00famero de archivos escarbados:
+PhotoRecIngestModule.complete.totalWritetime=Tiempo total de escritura en disco:
+PhotoRecIngestModule.complete.totalParsetime=Tiempo total de an\u00e1lisis:
+PhotoRecIngestModule.complete.photoRecResults=Resultados de PhotoRec
+PhotoRecIngestModule.NotEnoughDiskSpace.detail.msg=Error de PhotoRec procesando {0} con {1} Espacio insuficiente en el disco principal para guardar el espacio no asignado.
+PhotoRecIngestModule.cancelledByUser=PhotoRec cancelado por el usuario.
+PhotoRecIngestModule.error.exitValue=El escarbador PhotoRec devolvi\u00f3 el valor de salida de error \= {0} al escanear {1}
+PhotoRecIngestModule.error.msg=Error al procesar {0} con el escarbador PhotoRec.
+PhotoRecIngestModule.complete.numberOfErrors=N\u00famero de errores durante el escarbado:
+PhotoRecCarverIngestJobSettingsPanel.detectionSettingsLabel.text=Configuraci\u00f3n de PhotoRec
+PhotoRecCarverIngestJobSettingsPanel.keepCorruptedFilesCheckbox.text=Conservar archivos corruptos
+PhotoRecCarverIngestJobSettingsPanel.includeExcludeCheckbox.text=Enfocar en ciertos tipos de archivo
+PhotoRecCarverIngestJobSettingsPanel.fullListOfTypesLabel.text=Lista completa de tipos:
+PhotoRecCarverIngestJobSettingsPanel.exampleLabel.text=Ejemplo: jpg,png,zip
+PhotoRecCarverIngestJobSettingsPanel.extensionListTextfield.text=
+PhotoRecCarverIngestJobSettingsPanel.extensionListLabel.text=Tipos (lista de extensiones separadas por comas)
+PhotoRecCarverIngestJobSettingsPanel.excludeRadioButton.text=Excluir los tipos especificados
+PhotoRecCarverIngestJobSettingsPanel.includeRadioButton.text=Incluir solo los tipos especificados
+unallocatedSpaceProcessingSettingsError.message=El filtro de ingesta de archivos seleccionado ignora el espacio no asignado. Este m\u00f3dulo escarba el espacio no asignado. Por favor, elige un filtro que no lo ignore o desactiva este m\u00f3dulo.
+unsupportedOS.message=El m\u00f3dulo PhotoRec solo es compatible con plataformas Windows.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/pictureanalyzer/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/pictureanalyzer/Bundle_ar.properties
deleted file mode 100644
index ccb82b25a99..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/pictureanalyzer/Bundle_ar.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-PictureAnalyzerIngestModule.cannot_run_file_type=No se puede ejecutar la deteccion del tipo de archivo.
-PictureAnalyzerIngestModuleFactory.module_description=Realiza un analisis general en archivos de imagenes, incluyendo la extraccion de metadatos EXIF y la conversion entre formatos.
-PictureAnalyzerIngestModuleFactory.module_name=Analizador de Imagenes
diff --git a/Core/src/org/sleuthkit/autopsy/modules/pictureanalyzer/impls/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/pictureanalyzer/impls/Bundle_ar.properties
deleted file mode 100644
index 52593065696..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/pictureanalyzer/impls/Bundle_ar.properties
+++ /dev/null
@@ -1 +0,0 @@
-ExifProcessor.userContent.description=Existen metadatos EXIF para este archivo.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/plaso/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/plaso/Bundle_ar.properties
deleted file mode 100644
index fd135f40315..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/plaso/Bundle_ar.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-# {0} - file that events are from
-PlasoIngestModule.artifact.progress=Agregando eventos al caso: {0}
-PlasoIngestModule.bad.imageFile=No se puede encontrar el nombre y la ruta del archivo de imagen.
-PlasoIngestModule.completed=Procesamiento de Plaso completado
-PlasoIngestModule.create.artifacts.cancelled=Creacion de artefactos de Plaso cancelada
-PlasoIngestModule.dataSource.not.an.image=Saltando fuente de datos de imagen que no es de disco
-PlasoIngestModule.error.creating.output.dir=Error al crear el directorio de salida del modulo Plaso.
-PlasoIngestModule.error.running.log2timeline=Error al ejecutar log2timeline, ver archivo de registro.
-PlasoIngestModule.error.running.psort=Error al ejecutar Psort, ver archivo de registro.
-PlasoIngestModule.event.datetime=Fecha y Hora del Evento
-PlasoIngestModule.event.description=Descripcion del Evento
-PlasoIngestModule.exception.posting.artifact=Excepcion al publicar el artefacto.
-PlasoIngestModule.executable.not.found=Ejecutable de Plaso no encontrado.
-PlasoIngestModule.has.run=Plaso ha sido ejecutado
-PlasoIngestModule.info.empty.database=La base de datos de Plaso estaba vacia.
-PlasoIngestModule.log2timeline.cancelled=Ejecucion de log2timeline cancelada
-PlasoIngestModule.psort.cancelled=Ejecucion de psort cancelada
-PlasoIngestModule.psort.fail=Plaso devolvio un error al ordenar los eventos. Los resultados no estan completos.
-PlasoIngestModule.requires.windows=El modulo de Plaso requiere Windows.
-PlasoIngestModule.running.psort=Ejecutando Psort
-PlasoIngestModule.starting.log2timeline=Iniciando log2timeline
-PlasoModuleFactory.ingestJobSettings.exception.msg=Se esperaba que el argumento de configuracion fuera una instancia de PlasoModuleSettings.
-PlasoModuleFactory_moduleDesc=Ejecuta Plaso en una fuente de datos.
-PlasoModuleFactory_moduleName=Plaso
-PlasoModuleSettingsPanel.winRegCheckBox.text=winreg: Analizador de archivos del Registro de Windows NT (REGF).
-PlasoModuleSettingsPanel.peCheckBox.text=pe: Analizador de archivos ejecutables portatiles (PE).
-PlasoModuleSettingsPanel.plasoParserInfoTextArea.text=Todos los modulos excepto chrome_cache* y los siguientes estan habilitados. Habilitarlos hara que Plaso se ejecute mas lento.
-PlasoModuleSettingsPanel.noteLabel.text=NOTA: Este modulo puede tardar mucho tiempo en ejecutarse.
-PlasoModuleSettingsPanel.disabledNoteLabel.text=* Desactivado porque duplica modulos existentes en Autopsy.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/plaso/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/plaso/Bundle_es.properties
new file mode 100644
index 00000000000..81e11ca8f85
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/plaso/Bundle_es.properties
@@ -0,0 +1,36 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+# {0} - file that events are from
+PlasoIngestModule.artifact.progress=A\u00f1adiendo eventos al caso: {0}
+PlasoIngestModule.bad.imageFile=No se puede encontrar el nombre y la ruta del archivo de imagen
+PlasoIngestModule.completed=Procesamiento de Plaso completado
+PlasoIngestModule.create.artifacts.cancelled=Creaci\u00f3n de artefactos de Plaso cancelada
+PlasoIngestModule.dataSource.not.an.image=Omitiendo origen de datos que no es una imagen de disco
+PlasoIngestModule.error.creating.output.dir=Error al crear el directorio de salida del m\u00f3dulo Plaso.
+PlasoIngestModule.error.running.log2timeline=Error al ejecutar log2timeline, ver archivo de registro.
+PlasoIngestModule.error.running.psort=Error al ejecutar Psort, ver archivo de registro.
+PlasoIngestModule.event.datetime=Fecha y hora del evento
+PlasoIngestModule.event.description=Descripci\u00f3n del evento
+PlasoIngestModule.exception.posting.artifact=Excepci\u00f3n al publicar el artefacto.
+PlasoIngestModule.executable.not.found=Ejecutable de Plaso no encontrado.
+PlasoIngestModule.has.run=Plaso
+PlasoIngestModule.info.empty.database=La base de datos de Plaso estaba vac\u00eda.
+PlasoIngestModule.log2timeline.cancelled=Ejecuci\u00f3n de Log2timeline cancelada
+PlasoIngestModule.psort.cancelled=Ejecuci\u00f3n de psort cancelada
+PlasoIngestModule.psort.fail=Plaso devolvi\u00f3 un error al ordenar los eventos. Los resultados no est\u00e1n completos.
+PlasoIngestModule.requires.windows=El m\u00f3dulo Plaso requiere Windows.
+PlasoIngestModule.running.psort=Ejecutando Psort
+PlasoIngestModule.starting.log2timeline=Iniciando Log2timeline
+PlasoModuleFactory.ingestJobSettings.exception.msg=Se esperaba que el argumento de configuraci\u00f3n fuera una instancia de PlasoModuleSettings
+PlasoModuleFactory_moduleDesc=Ejecuta Plaso contra una fuente de datos.
+PlasoModuleFactory_moduleName=Plaso
+PlasoModuleSettingsPanel.winRegCheckBox.text=winreg: Analizador de archivos del Registro de Windows NT (REGF).
+PlasoModuleSettingsPanel.peCheckBox.text=pe: Analizador de archivos ejecutables port\u00e1tiles (PE).
+PlasoModuleSettingsPanel.plasoParserInfoTextArea.text=Todos los m\u00f3dulos excepto chrome_cache* y los siguientes est\u00e1n habilitados. Habilitarlos har\u00e1 que Plaso se ejecute m\u00e1s lento.
+PlasoModuleSettingsPanel.noteLabel.text=NOTA: Este m\u00f3dulo puede tardar mucho en ejecutarse.
+PlasoModuleSettingsPanel.disabledNoteLabel.text=* Deshabilitado porque duplica m\u00f3dulos existentes de Autopsy.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_ar.properties
deleted file mode 100644
index 092d534a71b..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_ar.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# {0} - nombre de la fuente de datos
-deviceIdQueryErrMsg=Falta el ID del dispositivo en la fuente de datos {0}.
-# {0} - nombre del directorio de salida
-VMExtractorIngestModule.cannotCreateOutputDir.message=No se puede crear el directorio de salida: {0}.
-VMExtractorIngestModule.noOpenCase.errMsg=No hay un caso abierto disponible.
-VMExtractorIngestModuleFactory.moduleDisplayName=Extractor de Maquinas Virtuales
-VMExtractorIngestModuleFactory.moduleDescription=Extrae archivos de maquinas virtuales y los agrega como fuentes de datos en un caso.
-VMExtractorIngestModule.addedVirtualMachineImage.message=Imagen de maquina virtual {0} agregada.
-VMExtractorIngestModule.searchingImage.message=Buscando archivos de maquinas virtuales en la imagen.
-VMExtractorIngestModule.exportingToDisk.message=Exportando archivos de maquinas virtuales al disco.
-VMExtractorIngestModule.queuingIngestJobs.message=Colocando en cola trabajos de ingestion para maquinas virtuales extraidas.
-VMExtractorIngestModule.msgNotify.failedExtractVM.title.txt=Error al extraer archivo de maquina virtual.
-VMExtractorIngestModule.msgNotify.failedExtractVM.msg.txt=Error al escribir el archivo de maquina virtual {0} en el disco.
-VMExtractorIngestModule.msgNotify.failedIngestVM.title.txt=Error al realizar la ingestion de la maquina virtual.
-VMExtractorIngestModule.msgNotify.failedIngestVM.msg.txt=Error al realizar la ingestion del archivo de maquina virtual {0}.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_es.properties
new file mode 100644
index 00000000000..69a6a4dd617
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/vmextractor/Bundle_es.properties
@@ -0,0 +1,22 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+# {0} - data source name
+deviceIdQueryErrMsg=Falta el ID del dispositivo en la fuente de datos {0}
+# {0} - output directory name
+VMExtractorIngestModule.cannotCreateOutputDir.message=No se puede crear el directorio de salida: {0}.
+VMExtractorIngestModule.noOpenCase.errMsg=No hay ning\u00fan caso abierto disponible.
+VMExtractorIngestModuleFactory.moduleDisplayName=Extractor de m\u00e1quinas virtuales
+VMExtractorIngestModuleFactory.moduleDescription=Extrae archivos de m\u00e1quinas virtuales y los agrega a un caso como fuentes de datos.
+VMExtractorIngestModule.addedVirtualMachineImage.message=Imagen de m\u00e1quina virtual agregada: {0}
+VMExtractorIngestModule.searchingImage.message=Buscando archivos de m\u00e1quinas virtuales en la imagen
+VMExtractorIngestModule.exportingToDisk.message=Exportando archivos de m\u00e1quinas virtuales al disco
+VMExtractorIngestModule.queuingIngestJobs.message=Encolando trabajos de ingest\u00f3n para m\u00e1quinas virtuales extra\u00eddas
+VMExtractorIngestModule.msgNotify.failedExtractVM.title.txt=No se pudo extraer el archivo de m\u00e1quina virtual
+VMExtractorIngestModule.msgNotify.failedExtractVM.msg.txt=No se pudo escribir el archivo de m\u00e1quina virtual {0} en el disco.
+VMExtractorIngestModule.msgNotify.failedIngestVM.title.txt=No se pudo ingerir la m\u00e1quina virtual
+VMExtractorIngestModule.msgNotify.failedIngestVM.msg.txt=No se pudo ingerir el archivo de m\u00e1quina virtual {0}
diff --git a/Core/src/org/sleuthkit/autopsy/modules/yara/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/yara/Bundle_ar.properties
deleted file mode 100644
index 9ed8e2a28f6..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/yara/Bundle_ar.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-Yara_Module_Description=El Analizador YARA utiliza YARA para buscar patrones textuales o binarios en archivos.
-Yara_Module_Name=Analizador YARA
-YaraIngestModule_no_ruleSets=No se pudo ejecutar la ingestion de YARA, la lista de conjuntos de reglas YARA estaba vacia.
-YaraIngestModule_windows_error_msg=El modulo de ingestion de YARA solo esta disponible en Windows de 64 bits.
-YaraIngestModule_yarac_not_found=No se pudieron compilar los archivos de reglas YARA. No se encontro el ejecutable en.
diff --git a/Core/src/org/sleuthkit/autopsy/modules/yara/ui/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/modules/yara/ui/Bundle_ar.properties
deleted file mode 100644
index 8c3e9c19846..00000000000
--- a/Core/src/org/sleuthkit/autopsy/modules/yara/ui/Bundle_ar.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-OptionCategory_Name_YaraRuleSetOption=Conjuntos de reglas Yara
-OptionCategory_Keywords_YaraRuleSetOption=YaraRuleSets
-RuleSetDetailsPanel_failed_to_open_folder_msg=Error al abrir una nueva ventana para el archivo del conjunto de reglas.
-RuleSetDetailsPanel_failed_to_open_folder_title=Error de Apertura
-RuleSetPanel.newButton.text=Nuevo Conjunto
-RuleSetPanel.deleteButton.text=Eliminar Conjunto
-RuleSetPanel.ruleSetListLabel.text=Conjuntos de Reglas:
-RuleSetDetailsPanel.ruleSetListLabel.text=La carpeta contiene actualmente los siguientes archivos de reglas:
-RuleSetDetailsPanel.setDetailsLabel.text=Detalles del Conjunto
-RuleSetDetailsPanel.openFolderButton.text=Abrir Carpeta
-RuleSetPanel.descriptionField.text=Este modulo te permite encontrar archivos que coincidan con las reglas Yara. Cada conjunto tiene una lista de archivos de reglas Yara. Un archivo solo necesita coincidir con una regla en el conjunto para ser encontrado.
-RuleSetDetailsPanel.openLabel.text=Coloca archivos de reglas en la carpeta del conjunto. Seran compilados antes de su uso.
-YARA_Global_Settings_Panel_Title=Opciones de YARA
-YaraIngestSettingsPanel.border.title=Selecciona conjuntos de reglas YARA para habilitar durante la ingestion:
-YaraIngestSettingsPanel.allFilesButton.text=Todos los Archivos
-YaraIngestSettingsPanel.allFilesButton.toolTipText=
-YaraIngestSettingsPanel.executableFilesButton.text=Solo Archivos Ejecutables
-RuleSetDetailsPanel.refreshButton.text=Actualizar Lista de Archivos
-YaraRuleSetOptionPanel_badName2_msg=El conjunto de reglas no es valido.\nLos nombres de los conjuntos de reglas deben ser cadenas no vacias y unicas.
-# {0} - nombre del conjunto de reglas
-YaraRuleSetOptionPanel_badName_msg=El nombre del conjunto de reglas {0} ya existe.\nLos nombres de los conjuntos de reglas deben ser unicos.
-YaraRuleSetOptionPanel_badName_title=Crear Conjunto de Reglas
-YaraRuleSetOptionPanel_new_rule_set_name_msg=Proporciona un nombre nuevo y unico para el conjunto de reglas:
-YaraRuleSetOptionPanel_new_rule_set_name_title=Nombre del Conjunto de Reglas
-# {0} - nombre del conjunto de reglas
-YaraRuleSetOptionPanel_rule_set_delete=No se puede eliminar el conjunto de reglas YARA seleccionado {0}.\nEl conjunto de reglas podria haber sido eliminado previamente.
-# {0} - nombre del conjunto de reglas
-YaraRuleSetOptionPanel_RuleSet_Missing=La carpeta para el conjunto de reglas YARA seleccionado, {0}, ya no existe.
-YaraRuleSetOptionPanel_RuleSet_Missing_title=Carpeta Eliminada
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/modules/yara/ui/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/modules/yara/ui/Bundle_es.properties
new file mode 100644
index 00000000000..0ac75e9fe68
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/modules/yara/ui/Bundle_es.properties
@@ -0,0 +1,33 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+OptionCategory_Name_YaraRuleSetOption=Conjuntos de Reglas Yara
+OptionCategory_Keywords_YaraRuleSetOption=ConjuntosDeReglasYara
+RuleSetDetailsPanel_failed_to_open_folder_msg=No se pudo abrir una nueva ventana para el archivo del conjunto de reglas.
+RuleSetDetailsPanel_failed_to_open_folder_title=Error al Abrir
+RuleSetPanel.newButton.text=Nuevo Conjunto
+RuleSetPanel.deleteButton.text=Eliminar Conjunto
+RuleSetPanel.ruleSetListLabel.text=Conjuntos de Reglas:
+RuleSetDetailsPanel.ruleSetListLabel.text=La carpeta contiene actualmente los siguientes archivos de reglas:
+RuleSetDetailsPanel.setDetailsLabel.text=Detalles del Conjunto
+RuleSetDetailsPanel.openFolderButton.text=Abrir Carpeta
+RuleSetPanel.descriptionField.text=Este m\u00f3dulo permite encontrar archivos que coincidan con reglas Yara. Cada conjunto tiene una lista de archivos de reglas Yara. Un archivo solo necesita coincidir con una regla del conjunto para ser encontrado.
+RuleSetDetailsPanel.openLabel.text=Coloque los archivos de reglas en la carpeta del conjunto. Ser\u00e1n compilados antes de usarse.
+YARA_Global_Settings_Panel_Title=Opciones YARA
+YaraIngestSettingsPanel.border.title=Seleccione los conjuntos de reglas YARA para habilitar durante la ingesta:
+YaraIngestSettingsPanel.allFilesButton.text=Todos los Archivos
+YaraIngestSettingsPanel.allFilesButton.toolTipText=
+YaraIngestSettingsPanel.executableFilesButton.text=Solo Archivos Ejecutables
+RuleSetDetailsPanel.refreshButton.text=Actualizar Lista de Archivos
+YaraRuleSetOptionPanel_badName2_msg=El conjunto de reglas no es v\u00e1lido.\nLos nombres de conjuntos de reglas deben ser cadenas no vac\u00edas y \u00fanicos.
+YaraRuleSetOptionPanel_badName_msg=El nombre del conjunto de reglas {0} ya existe.\nLos nombres de conjuntos de reglas deben ser \u00fanicos.
+YaraRuleSetOptionPanel_badName_title=Crear Conjunto de Reglas
+YaraRuleSetOptionPanel_new_rule_set_name_msg=Ingrese un nuevo nombre de conjunto de reglas \u00fanico:
+YaraRuleSetOptionPanel_new_rule_set_name_title=Nombre del Conjunto de Reglas
+YaraRuleSetOptionPanel_rule_set_delete=No se puede eliminar el conjunto de reglas YARA seleccionado {0}.\nEs posible que el conjunto ya haya sido eliminado.
+YaraRuleSetOptionPanel_RuleSet_Missing=La carpeta del conjunto de reglas YARA seleccionado, {0}, ya no existe.
+YaraRuleSetOptionPanel_RuleSet_Missing_title=Carpeta eliminada
diff --git a/Core/src/org/sleuthkit/autopsy/progress/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/progress/Bundle_ar.properties
deleted file mode 100644
index afe4d46cf71..00000000000
--- a/Core/src/org/sleuthkit/autopsy/progress/Bundle_ar.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-
-ProgressPanel.progressMessage.text=Mensaje
-TaskCanceller.progress.cancellingMessage=Cencelando...
diff --git a/Core/src/org/sleuthkit/autopsy/progress/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/progress/Bundle_es.properties
new file mode 100644
index 00000000000..cede702fdac
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/progress/Bundle_es.properties
@@ -0,0 +1,9 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ProgressPanel.progressMessage.text=Mensaje
+TaskCanceller.progress.cancellingMessage=Cancelando...
diff --git a/Core/src/org/sleuthkit/autopsy/python/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/python/Bundle_ar.properties
deleted file mode 100644
index f0c48f4fe65..00000000000
--- a/Core/src/org/sleuthkit/autopsy/python/Bundle_ar.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-JythonModuleLoader.errorMessages.failedToOpenModule=Error al abrir {0}. Consulte el registro para obtener mas detalles.
-JythonModuleLoader.errorMessages.failedToLoadModule=Error al cargar {0}. {1}. Consulte el registro para obtener mas detalles.
-JythonModuleLoader.pythonInterpreterError.msg=Error al cargar modulos de Python. Consulte el registro para obtener mas detalles.
-JythonModuleLoader.pythonInterpreterError.title=Modulos de Python.
diff --git a/Core/src/org/sleuthkit/autopsy/python/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/python/Bundle_es.properties
new file mode 100644
index 00000000000..acd575e8b06
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/python/Bundle_es.properties
@@ -0,0 +1,11 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+JythonModuleLoader.errorMessages.failedToOpenModule=No se pudo abrir {0}. Consulte el registro para m\u00e1s detalles.
+JythonModuleLoader.errorMessages.failedToLoadModule=No se pudo cargar {0}. {1}. Consulte el registro para m\u00e1s detalles.
+JythonModuleLoader.pythonInterpreterError.msg=No se pudieron cargar los m\u00f3dulos de Python. Consulte el registro para m\u00e1s detalles.
+JythonModuleLoader.pythonInterpreterError.title=M\u00f3dulos de Python
diff --git a/Core/src/org/sleuthkit/autopsy/rejview/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/rejview/Bundle_ar.properties
deleted file mode 100644
index f7514b26763..00000000000
--- a/Core/src/org/sleuthkit/autopsy/rejview/Bundle_ar.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-# {0} - startByteD
-# {1} - endByteD
-# {2} - lengthD
-# {3} - startByteH
-# {4} - endByteH
-# {5} - lengthH
-HexView.statusTemplate.nonZeroLength=Seleccionado: {0} de {1} (len: {2}) [{3} de {4} (len: {5})
-# {0} - startByteDec
-# {1} - startByteHex
-HexView.statusTemplate.zeroLength=Posicion: {0} [{1}])
-RegeditExeValueFormatter.valueNotSet.text=(valor no establecido)
-RejTreeKeyNode.parseFailed.string=ERROR AL ANALIZAR.
-RejTreeKeyView.columns.name=Nombre
-RejTreeKeyView.columns.type=Tipo
-RejTreeKeyView.columns.value=Valor
-RejTreeKeyView.failedToParse.keyName=ERROR AL ANALIZAR EL NOMBRE DE LA CLAVE
-RejTreeKeyView.metadataBorder.title=Metadatos
-RejTreeKeyView.template.dateTime=Hora de modificación:
-RejTreeKeyView.template.name=Nombre:
-RejTreeKeyView.template.numberOfSubkeys=Numero de subclaves:
-RejTreeKeyView.template.numberOfValues=Numero de valores:
-RejTreeKeyView.valuesBorder.title=Valores
-RejTreeValueNode.defaultValueName.text=(Predeterminado)
-RejTreeValueNode.failureValueName.text=ERROR AL ANALIZAR
-RejTreeValueView.failedToDecode.valueName=ERROR AL DECODIFICAR EL NOMBRE DEL VALOR
-RejTreeValueView.failedToDecode.valueType=ERROR AL ANALIZAR EL TIPO DE VALOR
-RejTreeValueView.failedToParse.value=ERROR AL ANALIZAR EL VALOR DEL VALOR
-RejTreeValueView.metadataBorder.title=Metadatos
-RejTreeValueView.template.name=Nombre:
-RejTreeValueView.template.type=Tipo:
-RejTreeValueView.valueBorder.title=Valor
-RejTreeView.failureValueName.text=ERROR AL ANALIZAR
diff --git a/Core/src/org/sleuthkit/autopsy/report/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/Bundle_ar.properties
deleted file mode 100644
index 3f19ff221d9..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/Bundle_ar.properties
+++ /dev/null
@@ -1,21 +0,0 @@
-OpenIDE-Module-Name=Reporte
-DefaultReportConfigurationPanel.infoLabel.text=Esta configuracion del informe se realizara en la siguiente pantalla.
-ReportBranding.defaultReportTitle.text=Informe Forense de Autopsy
-ReportBranding.defaultReportFooter.text=Desarrollado por la Plataforma de Ciencias Forenses de Codigo Abierto Autopsy - www.sleuthkit.org
-ReportProgressPanel.pathLabel.text=Etiqueta de ruta
-ReportProgressPanel.progress.canceled=Cancelado
-ReportProgressPanel.progress.complete=Completo
-ReportProgressPanel.progress.error=Error
-ReportProgressPanel.progress.queuing=En cola...
-ReportProgressPanel.progress.running=En progreso...
-ReportProgressPanel.reportLabel.text=Etiqueta de informe
-ReportProgressPanel.statusMessageLabel.text=Etiqueta de mensaje de estado
-ReportProgressPanel.separationLabel.text=:
-ReportProgressPanel.initPathLabel.noFile=Ningun archivo de informe
-ReportProgressPanel.start.cancelButton.text=Cancelar
-ReportProgressPanel.start.progress.text=Iniciando el informe...
-ReportProgressPanel.complete.processLbl.text=Completado
-ReportProgressPanel.complete.processLb2.text=Completado con error
-ReportProgressPanel.complete.cancelButton.text=Completado
-ReportProgressPanel.cancel.cancelButton.toolTipText=Cancelado
-ReportProgressPanel.cancel.procLbl.text=Cancelado
diff --git a/Core/src/org/sleuthkit/autopsy/report/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/Bundle_es.properties
new file mode 100644
index 00000000000..b57e8e2962e
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/Bundle_es.properties
@@ -0,0 +1,28 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+OpenIDE-Module-Name=Reporte
+DefaultReportConfigurationPanel.infoLabel.text=Este informe se configurar\u00e1 en la siguiente pantalla.
+ReportBranding.defaultReportTitle.text=Informe Forense de Autopsy
+ReportBranding.defaultReportFooter.text=Desarrollado por la Plataforma de Inform\u00e1tica Forense de C\u00f3digo Abierto Autopsy - www.sleuthkit.org
+ReportProgressPanel.pathLabel.text=etiquetaRuta
+ReportProgressPanel.progress.canceled=Cancelado
+ReportProgressPanel.progress.complete=Completado
+ReportProgressPanel.progress.error=Error
+ReportProgressPanel.progress.queuing=En cola...
+ReportProgressPanel.progress.running=Ejecutando...
+ReportProgressPanel.reportLabel.text=etiquetaInforme
+ReportProgressPanel.statusMessageLabel.text=etiquetaProcesando
+ReportProgressPanel.separationLabel.text=:
+ReportProgressPanel.initPathLabel.noFile=No hay archivo de informe
+ReportProgressPanel.start.cancelButton.text=Cancelar
+ReportProgressPanel.start.progress.text=Iniciando informe...
+ReportProgressPanel.complete.processLbl.text=Completado
+ReportProgressPanel.complete.processLb2.text=Completado con error
+ReportProgressPanel.complete.cancelButton.text=Finalizar
+ReportProgressPanel.cancel.cancelButton.toolTipText=Cancelado
+ReportProgressPanel.cancel.procLbl.text=Cancelado
diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_ar.properties
deleted file mode 100644
index 4a6c88c5f5b..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_ar.properties
+++ /dev/null
@@ -1,239 +0,0 @@
-OpenIDE-Module-Name=Reporte
-CTL_ReportWizardAction=Ejecutar informe
-PortableCaseInterestingItemsListPanel.error.errorLoadingTags=Error al cargar nombres de conjuntos de elementos interesantes
-PortableCaseInterestingItemsListPanel.error.errorTitle=Error al obtener nombres de conjuntos de elementos interesantes para el caso
-PortableCaseInterestingItemsListPanel.error.noOpenCase=No hay un caso abierto
-PortableCaseTagsListPanel.error.errorLoadingTags=Error al cargar etiquetas
-PortableCaseTagsListPanel.error.errorTitle=Error al obtener nombres de etiquetas para el caso
-PortableCaseTagsListPanel.error.noOpenCase=No hay un caso abierto
-ReportGenerator.artTableColHdr.comment=Comentario
-ReportGenerator.errList.failedGetBBArtifactTags=Error al obtener etiquetas de resultados.
-ReportGenerator.errList.noOpenCase=No hay un caso abierto disponible.
-# {0} - report module name
-ReportGenerator.error.exception=Excepcion al ejecutar el modulo de informe {0}
-# {0} - report module name
-ReportGenerator.error.invalidSettings=Ajustes no validos para el modulo de informe {0}
-# {0} - report module name
-ReportGenerator.error.moduleNotFound=No se encontro el modulo de informe {0}
-# {0} - report module name
-ReportGenerator.error.noFileReportSettings=No hay ajustes de informe de archivos para el modulo de informe {0}
-ReportGenerator.error.noReportModules=No se encontraron modulos de informe
-# {0} - report module name
-ReportGenerator.error.noTableReportSettings=No hay ajustes de informe de tabla para el modulo de informe {0}
-# {0} - report configuration name
-ReportGenerator.error.unableToLoadConfig=No se pudo cargar la configuracion de informes {0}
-# {0} - report module name
-ReportGenerator.error.unsupportedType=El modulo de informe {0} tiene un tipo de modulo de informe no compatible.
-ReportGenerator.tagTable.header.userName=Nombre de usuario
-ReportProgressIndicator.cancelledMessage=Generacion del informe cancelada
-ReportProgressIndicator.completedMessage=Generacion del informe completada
-ReportProgressIndicator.completedWithErrorsMessage=Generacion del informe completada con errores
-ReportProgressIndicator.startMessage=Inicio de la generacion del informe
-ReportProgressIndicator.switchToDeterminateMessage=El progreso de la generacion del informe cambio a determinado
-ReportProgressIndicator.switchToIndeterminateMessage=El progreso de la generacion del informe cambio a indeterminado
-ReportWizardDataSourceSelectionPanel.confirmEmptySelection=¿Estas seguro de que deseas continuar sin hacer selecciones?
-ReportWizardDataSourceSelectionPanel.finishButton.text=Finalizar
-ReportWizardDataSourceSelectionPanel.nextButton.text=Siguiente
-ReportWizardDataSourceSelectionPanel.title=Selecciona que fuente(s) de datos incluir
-ReportWizardFileOptionsVisualPanel.jLabel1.text=Selecciona los elementos para incluir en el informe de archivos:
-ReportWizardFileOptionsVisualPanel.deselectAllButton.text=Desmarcar todos
-ReportWizardFileOptionsVisualPanel.selectAllButton.text=Seleccionar todos
-ReportWizardPortableCaseOptionsVisualPanel.errorLabel.text=Solo en Windows
-ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.toolTipText=
-ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.text=Empaquetar el caso en un archivo comprimido:
-PortableCaseTagsListPanel.jAllTagsCheckBox.text=Todas las etiquetas de resultados
-PortableCaseTagsListPanel.deselectButton.text=Desmarcar todos
-PortableCaseTagsListPanel.selectButton.text=Seleccionar todos
-PortableCaseTagsListPanel.descLabel.text=Incluir las siguientes etiquetas:
-ReportGenerationPanel.cancelButton.actionCommand=Cancelar
-ReportGenerationPanel.cancelButton.text=Cancelar
-ReportGenerationPanel.closeButton.text=Cerrar
-PortableCaseInterestingItemsListPanel.deselectButton.text=Desmarcar todos
-PortableCaseInterestingItemsListPanel.selectButton.text=Seleccionar todos
-PortableCaseInterestingItemsListPanel.descLabel.text=Incluir elementos interesantes de estos conjuntos:
-PortableCaseInterestingItemsListPanel.jAllSetsCheckBox.text=Todos los elementos interesantes
-ReportVisualPanel2.allTaggedResultsRadioButton.text=Todos los resultados etiquetados
-ReportVisualPanel2.advancedButton.text=Elegir tipos de resultados...
-ReportVisualPanel2.deselectAllButton.text=Desmarcar todos
-ReportVisualPanel2.selectAllButton.text=Seleccionar todos
-ReportVisualPanel2.dataLabel.text=Selecciona que datos incluir en el informe:
-ReportVisualPanel2.allResultsRadioButton.text=Todos los resultados
-ReportVisualPanel2.specificTaggedResultsRadioButton.text=Resultados etiquetados especificos
-ReportVisualPanel1.reportModulesLabel.text=Modulos de informe:
-ArtifactSelectionDialog.okButton.text=Aceptar
-ArtifactSelectionDialog.deselectAllButton.text=Desmarcar todos
-ArtifactSelectionDialog.selectAllButton.text=Seleccionar todos
-ArtifactSelectionDialog.titleLabel.toolTipText=
-ArtifactSelectionDialog.titleLabel.text=Selecciona los tipos de resultados que deseas incluir en el informe:
-ArtifactSelectionDialog.dlgTitle.text=Seleccion de tipos de resultados
-ReportVisualPanel1.invalidModuleWarning=Se encontro un modulo de informe no valido ({0})
-ReportGenerationPanel.titleLabel.text=Progreso de generacion del informe
-ReportGenerationPanel.confDlg.sureToClose.msg=¿Estas seguro de que deseas cerrar el dialogo?\nTodos los informes seran cancelados.
-ReportGenerationPanel.confDlg.title.closing=Cerrando
-ReportGenerationPanel.confDlg.cancelReport.msg=¿Estas seguro de que deseas cancelar el informe?
-ReportGenerator.displayProgress.title.text=Progreso de la generacion del informe...
-ReportGenerator.progress.queryingDb.text=Consultando la base de datos...
-ReportGenerator.progress.readingTagsArtifacts.text=Leyendo etiquetas y artefactos de la base de datos del caso
-ReportGenerator.progress.processingFile.text=Procesando ahora {0}
-ReportGenerator.artifactTable.taggedResults.text=Contiene resultados que fueron etiquetados con uno de los siguientes:
-ReportGenerator.progress.processing=Procesando ahora {0}...
-ReportGenerator.msgShow.skippingArtType.title=Saltando el tipo de artefacto {0} en los informes
-ReportGenerator.msgShow.skippingArtType.msg=Columnas desconocidas para incluir en el informe
-ReportGenerator.makeContTagTab.taggedFiles.msg=Contiene archivos que fueron etiquetados con uno de los siguientes:
-ReportGenerator.makeBbArtTagTab.taggedRes.msg=Este informe solo incluye resultados etiquetados con:
-ReportGenerator.tagTable.header.resultType=Tipo de resultado
-ReportGenerator.tagTable.header.tag=Etiqueta
-ReportGenerator.tagTable.header.comment=Comentario
-ReportGenerator.tagTable.header.srcFile=Archivo fuente
-ReportGenerator.progress.createdThumb.text=Creando miniaturas...
-ReportGenerator.htmlOutput.header.file=Archivo
-ReportGenerator.htmlOutput.header.tag=Etiqueta
-ReportGenerator.htmlOutput.header.comment=Comentario
-ReportGenerator.htmlOutput.header.timeModified=Hora de modificacion
-ReportGenerator.htmlOutput.header.timeChanged=Hora de cambio
-ReportGenerator.htmlOutput.header.timeAccessed=Hora de acceso
-ReportGenerator.htmlOutput.header.timeCreated=Hora de creacion
-ReportGenerator.htmlOutput.header.size=Tamanio (bytes)
-ReportGenerator.htmlOutput.header.hash=Valor hash
-ReportGenerator.thumbnailTable.name=Imagenes etiquetadas
-ReportGenerator.thumbnailTable.desc=Contiene miniaturas de imagenes que estan asociadas con archivos y resultados etiquetados.
-ReportGenerator.writeKwHits.userSrchs=Busquedas de usuario
-ReportGenerator.progress.processingList=Procesando ahora {0} ({1})...
-ReportGenerator.artTableColHdr.url=URL
-ReportGenerator.artTableColHdr.title=Titulo
-ReportGenerator.artTableColHdr.dateCreated=Fecha de creacion
-ReportGenerator.artTableColHdr.program=Programa
-ReportGenerator.artTableColHdr.urlDomainDecoded=Dominio de URL
-ReportGenerator.artTableColHdr.srcFile=Archivo fuente
-ReportGenerator.artTableColHdr.dateTime=Fecha/Hora
-ReportGenerator.artTableColHdr.name=Nombre
-ReportGenerator.artTableColHdr.value=Valor
-ReportGenerator.artTableColHdr.dateAccessed=Fecha de acceso
-ReportGenerator.artTableColHdr.referrer=Referencia
-ReportGenerator.artTableColHdr.dest=Destino
-ReportGenerator.artTableColHdr.sourceUrl=URL de origen
-ReportGenerator.artTableColHdr.path=Ruta
-ReportGenerator.artTableColHdr.progName=Nombre del programa
-ReportGenerator.artTableColHdr.instDateTime=Fecha/Hora de instalacion
-ReportGenerator.artTableColHdr.preview=Vista previa
-ReportGenerator.artTableColHdr.file=Archivo
-ReportGenerator.artTableColHdr.size=Tamanio
-ReportGenerator.artTableColHdr.deviceId=ID del dispositivo
-ReportGenerator.artTableColHdr.text=Texto
-ReportGenerator.artTableColHdr.domain=Dominio
-ReportGenerator.artTableColHdr.dateTaken=Fecha de captura
-ReportGenerator.artTableColHdr.devManufacturer=Fabricante del dispositivo
-ReportGenerator.artTableColHdr.devMake=Marca del dispositivo
-ReportGenerator.artTableColHdr.devModel=Modelo del dispositivo
-ReportGenerator.artTableColHdr.latitude=Latitud
-ReportGenerator.artTableColHdr.longitude=Longitud
-ReportGenerator.artTableColHdr.latitudeStart=Latitud inicial
-ReportGenerator.artTableColHdr.longitudeStart=Longitud inicial
-ReportGenerator.artTableColHdr.latitudeEnd=Latitud final
-ReportGenerator.artTableColHdr.longitudeEnd=Longitud final
-ReportGenerator.artTableColHdr.associatedArtifact=Artefacto asociado
-ReportGenerator.artTableColHdr.count=Contador
-ReportGenerator.artTableColHdr.personName=Nombre de la persona
-ReportGenerator.artTableColHdr.phoneNumber=Numero de telefono
-ReportGenerator.artTableColHdr.phoneNumHome=Numero de telefono (Casa)
-ReportGenerator.artTableColHdr.phoneNumOffice=Numero de telefono (Oficina)
-ReportGenerator.artTableColHdr.phoneNumMobile=Numero de telefono (Movil)
-ReportGenerator.artTableColHdr.email=Correo electronico
-ReportGenerator.artTableColHdr.msgType=Tipo de mensaje
-ReportGenerator.artTableColHdr.direction=Direccion
-ReportGenerator.artTableColHdr.readStatus=Estado de lectura
-ReportGenerator.artTableColHdr.fromPhoneNum=Desde numero de telefono
-ReportGenerator.artTableColHdr.fromEmail=Desde correo electronico
-ReportGenerator.artTableColHdr.toPhoneNum=Para numero de telefono
-ReportGenerator.artTableColHdr.toEmail=Para correo electronico
-ReportGenerator.artTableColHdr.subject=Asunto
-ReportGenerator.artTableColHdr.tskEmailTo=Correo electronico a
-ReportGenerator.artTableColHdr.tskEmailCc=Correo electronico CC
-ReportGenerator.artTableColHdr.tskEmailBcc=Correo electronico BCC
-ReportGenerator.artTableColHdr.tskEmailFrom=Correo electronico de
-ReportGenerator.artTableColHdr.tskMsgId=ID de mensaje
-ReportGenerator.artTableColHdr.tskDateTimeRcvd=Fecha de recepcion
-ReportGenerator.artTableColHdr.tskDateTimeSent=Fecha de envio
-ReportGenerator.artTableColHdr.tskSubject=Asunto
-ReportGenerator.artTableColHdr.tskSetName=Nombre del conjunto
-ReportGenerator.artTableColHdr.tskInterestingFilesCategory=Regla
-ReportGenerator.artTableColHdr.tskGpsRouteCategory=Categoria
-ReportGenerator.artTableColHdr.tskPath=Ruta
-ReportGenerator.artTableColHdr.calendarEntryType=Tipo de entrada de calendario
-ReportGenerator.artTableColHdr.description=Descripcion
-ReportGenerator.artTableColHdr.startDateTime=Fecha/Hora de inicio
-ReportGenerator.artTableColHdr.endDateTime=Fecha/Hora de finalizacion
-ReportGenerator.artTableColHdr.location=Ubicacion
-ReportGenerator.artTableColHdr.shortCut=Acceso directo
-ReportGenerator.artTableColHdr.deviceName=Nombre del dispositivo
-ReportGenerator.artTableColHdr.deviceAddress=Direccion del dispositivo
-ReportGenerator.artTableColHdr.altitude=Altitud
-ReportGenerator.artTableColHdr.locationAddress=Direccion de ubicacion
-ReportGenerator.artTableColHdr.category=Categoria
-ReportGenerator.artTableColHdr.userId=ID de usuario
-ReportGenerator.artTableColHdr.userName=Nombre de usuario
-ReportGenerator.artTableColHdr.password=Contrasenia
-ReportGenerator.artTableColHdr.appName=Nombre de la aplicacion
-ReportGenerator.artTableColHdr.appPath=Ruta de la aplicacion
-ReportGenerator.artTableColHdr.replytoAddress=Direccion de respuesta a
-ReportGenerator.artTableColHdr.mailServer=Servidor de correo
-ReportGenerator.artTableColHdr.tags=Etiquetas
-ReportGenerator.artTableColHdr.localPath=Ruta local
-ReportGenerator.artTableColHdr.remotePath=Ruta remota
-ReportGenerator.errors.reportErrorTitle=Error al generar el informe
-ReportGenerator.errors.reportErrorText=Error al generar el informe:
-ReportVisualPanel1.getName.text=Selecciona y configura los modulos de informe
-ReportVisualPanel2.getName.text=Configura el informe
-ReportWizardAction.actionName.text=Generar informe
-ReportWizardAction.reportWiz.title=Generar informe
-ReportWizardAction.toolBarButton.text=Generar informe
-ReportWizardAction.unableToSaveConfig.errorLabel.text=No se pudo guardar la configuracion del informe
-ReportWizardFileOptionsPanel.finishButton.text=Finalizar
-ReportWizardFileOptionsVisualPanel.getName.text=Configurar informe de archivos
-ReportWizardPanel1.nextButton.text=Siguiente >
-ReportWizardPanel1.finishButton.text=Finalizar
-ReportWizardPanel2.finishButton.text=Finalizar
-ReportWizardPanel2.nextButton.text=Siguiente >
-ReportGenerator.artTableColHdr.extension.text=Extension
-ReportGenerator.artTableColHdr.mimeType.text=Tipo MIME
-ReportGenerator.artTableColHdr.processorArchitecture.text=Arquitectura del procesador
-ReportGenerator.artTableColHdr.osName.text=Nombre del sistema operativo
-ReportGenerator.artTableColHdr.osInstallDate.text=Fecha de instalacion
-ReportGenerator.errList.failedMakeRptFolder=Error al crear la carpeta del informe, es posible que no se puedan generar informes.
-ReportGenerator.notifyErr.errsDuringRptGen=Errores durante la generacion del informe:
-ReportGenerator.errList.failedGetAllTagsArtifacts=Error al obtener todos los nombres de etiquetas y tipos de artefactos posibles.
-ReportGenerator.errList.noReportSettings=No se han configurado los ajustes del informe.
-ReportGenerator.errList.failedGetContentTags=Error al obtener etiquetas de contenido.
-ReportGenerator.errList.errGetContentFromBBArtifact=Error al obtener contenido de un artefacto de Blackboard para incluir en el informe.
-ReportGenerator.errList.failedGetBBAttribs=Error al obtener atributos de Blackboard al generar el informe.
-ReportGenerator.errList.failedGetBBArtifacts=Error al obtener artefactos de Blackboard al generar el informe.
-ReportGenerator.errList.failedQueryKWLists=Error al consultar listas de palabras clave.
-ReportGenerator.errList.failedGetAbstractFileByID=Error al obtener el archivo abstracto por ID.
-ReportGenerator.errList.failedQueryKWs=Error al consultar palabras clave.
-ReportGenerator.errList.failedQueryHashsetLists=Error al consultar listas de conjuntos hash.
-ReportGenerator.errList.failedGetAbstractFileFromID=Error al obtener el archivo abstracto por ID.
-ReportGenerator.errList.failedQueryHashsetHits=Error al consultar coincidencias de conjuntos hash.
-ReportGenerator.errList.coreExceptionWhileGenRptRow=Excepcion principal al generar datos de fila para el informe de artefactos.
-CreatePortableCasePanel.selectAllButton.text=Seleccionar todos
-CreatePortableCasePanel.deselectAllButton.text=Desmarcar todos
-CreatePortableCasePanel.outputFolderTextField.text=jTextField1
-CreatePortableCasePanel.chooseOutputFolderButton.text=Elegir carpeta
-CreatePortableCasePanel.jLabel1.text=Exportar archivos etiquetados como:
-CreatePortableCasePanel.jLabel2.text=Seleccionar carpeta de salida:
-CreatePortableCasePanel.errorLabel.text_1=Solo en Windows
-FileReportDataTypes.filename.text=Nombre
-FileReportDataTypes.fileExt.text=Extension del archivo
-FileReportDataTypes.fileType.text=Tipo de archivo
-FileReportDataTypes.isDel.text=Esta eliminado
-FileReportDataTypes.aTime.text=ultimo acceso
-FileReportDataTypes.crTime.text=Creado el archivo
-FileReportDataTypes.mTime.text=ultima modificacion
-FileReportDataTypes.size.text=Tamanio
-FileReportDataTypes.address.text=Direccion
-FileReportDataTypes.hash.text=Valor de hash
-FileReportDataTypes.knownStatus.text=Estado conocido
-FileReportDataTypes.perms.text=Permisos
-FileReportDataTypes.path.text=Ruta completa
-ReportWizardPortableCaseOptionsVisualPanel.getName.title=Elegir ajustes del caso portatil
-ReportWizardPortableCaseOptionsVisualPanel.includeAppCheckbox.text=Incluir aplicacion en la carpeta (puede agregar hasta 1 GB de archivos)
-TableReportGenerator.StatusColumn.Header=Estado de revision
diff --git a/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_es.properties
new file mode 100644
index 00000000000..cade1d2cb20
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/infrastructure/Bundle_es.properties
@@ -0,0 +1,239 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+OpenIDE-Module-Name=Informe
+CTL_ReportWizardAction=Ejecutar informe
+PortableCaseInterestingItemsListPanel.error.errorLoadingTags=Error al cargar los nombres del conjunto de elementos interesantes
+PortableCaseInterestingItemsListPanel.error.errorTitle=Error al obtener los nombres del conjunto de elementos interesantes para el caso
+PortableCaseInterestingItemsListPanel.error.noOpenCase=No hay un caso abierto
+PortableCaseTagsListPanel.error.errorLoadingTags=Error al cargar las etiquetas
+PortableCaseTagsListPanel.error.errorTitle=Error al obtener los nombres de las etiquetas para el caso
+PortableCaseTagsListPanel.error.noOpenCase=No hay un caso abierto
+ReportGenerator.artTableColHdr.comment=Comentario
+ReportGenerator.errList.failedGetBBArtifactTags=No se pudieron obtener las etiquetas del resultado.
+ReportGenerator.errList.noOpenCase=No hay un caso disponible.
+ReportGenerator.error.exception=Excepci\u00f3n al ejecutar el m\u00f3dulo de informe {0}
+ReportGenerator.error.invalidSettings=Configuraci\u00f3n inv\u00e1lida para el m\u00f3dulo de informe {0}
+ReportGenerator.error.moduleNotFound=No se encontr\u00f3 el m\u00f3dulo de informe {0}
+ReportGenerator.error.noFileReportSettings=Sin configuraci\u00f3n de informe de archivo para el m\u00f3dulo de informe {0}
+ReportGenerator.error.noReportModules=No se encontraron m\u00f3dulos de informe
+ReportGenerator.error.noTableReportSettings=Sin configuraci\u00f3n de informe de tabla para el m\u00f3dulo de informe {0}
+ReportGenerator.error.unableToLoadConfig=No se pudo cargar la configuraci\u00f3n del informe {0}.
+ReportGenerator.error.unsupportedType=El m\u00f3dulo de informe {0} tiene un tipo de m\u00f3dulo de informe no compatible
+ReportGenerator.tagTable.header.userName=Nombre de usuario
+ReportProgressIndicator.cancelledMessage=Generaci\u00f3n de informe cancelada
+ReportProgressIndicator.completedMessage=Generaci\u00f3n de informe completada
+ReportProgressIndicator.completedWithErrorsMessage=Generaci\u00f3n de informe completada con errores
+ReportProgressIndicator.startMessage=Generaci\u00f3n de informe iniciada
+ReportProgressIndicator.switchToDeterminateMessage=El progreso de la generaci\u00f3n del informe cambi\u00f3 a determinado
+ReportProgressIndicator.switchToIndeterminateMessage=El progreso de la generaci\u00f3n del informe cambi\u00f3 a indeterminado
+ReportWizardDataSourceSelectionPanel.confirmEmptySelection=\u00bfEst\u00e1 seguro de que desea continuar sin selecciones?
+ReportWizardDataSourceSelectionPanel.finishButton.text=Finalizar
+ReportWizardDataSourceSelectionPanel.nextButton.text=Siguiente
+ReportWizardDataSourceSelectionPanel.title=Seleccionar qu\u00e9 fuente(s) de datos incluir
+ReportWizardFileOptionsVisualPanel.jLabel1.text=Seleccionar elementos para incluir en el Informe de Archivo:
+ReportWizardFileOptionsVisualPanel.deselectAllButton.text=Deseleccionar todo
+ReportWizardFileOptionsVisualPanel.selectAllButton.text=Seleccionar todo
+ReportWizardPortableCaseOptionsVisualPanel.errorLabel.text=Solo para Windows
+ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.toolTipText=
+ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.text=Empaquetar el caso en un archivo:
+PortableCaseTagsListPanel.jAllTagsCheckBox.text=Todos los resultados etiquetados
+PortableCaseTagsListPanel.deselectButton.text=Deseleccionar todo
+PortableCaseTagsListPanel.selectButton.text=Seleccionar todo
+PortableCaseTagsListPanel.descLabel.text=Incluir las siguientes etiquetas:
+ReportGenerationPanel.cancelButton.actionCommand=Cancelar
+ReportGenerationPanel.cancelButton.text=Cancelar
+ReportGenerationPanel.closeButton.text=Cerrar
+PortableCaseInterestingItemsListPanel.deselectButton.text=Deseleccionar todo
+PortableCaseInterestingItemsListPanel.selectButton.text=Seleccionar todo
+PortableCaseInterestingItemsListPanel.descLabel.text=Incluir elementos interesantes de estos conjuntos:
+PortableCaseInterestingItemsListPanel.jAllSetsCheckBox.text=Todos los elementos interesantes
+ReportVisualPanel2.allTaggedResultsRadioButton.text=Todos los resultados etiquetados
+ReportVisualPanel2.advancedButton.text=Elegir tipos de resultados...
+ReportVisualPanel2.deselectAllButton.text=Deseleccionar todo
+ReportVisualPanel2.selectAllButton.text=Seleccionar todo
+ReportVisualPanel2.dataLabel.text=Seleccionar qu\u00e9 datos incluir en el informe:
+ReportVisualPanel2.allResultsRadioButton.text=Todos los resultados
+ReportVisualPanel2.specificTaggedResultsRadioButton.text=Resultados etiquetados espec\u00edficos
+ReportVisualPanel1.reportModulesLabel.text=M\u00f3dulos del informe:
+ArtifactSelectionDialog.okButton.text=Aceptar
+ArtifactSelectionDialog.deselectAllButton.text=Deseleccionar todo
+ArtifactSelectionDialog.selectAllButton.text=Seleccionar todo
+ArtifactSelectionDialog.titleLabel.toolTipText=
+ArtifactSelectionDialog.titleLabel.text=Seleccione los tipos de resultados sobre los que desea informar:
+ArtifactSelectionDialog.dlgTitle.text=Selecci\u00f3n de tipo de resultado
+ReportVisualPanel1.invalidModuleWarning=Se encontr\u00f3 un m\u00f3dulo de informe inv\u00e1lido ({0})
+ReportGenerationPanel.titleLabel.text=Progreso de generaci\u00f3n de informe
+ReportGenerationPanel.confDlg.sureToClose.msg=\u00bfEst\u00e1 seguro de que desea cerrar el di\u00e1logo?\nTodos los informes ser\u00e1n cancelados.
+ReportGenerationPanel.confDlg.title.closing=Cerrando
+ReportGenerationPanel.confDlg.cancelReport.msg=\u00bfEst\u00e1 seguro de que desea cancelar el informe?
+ReportGenerator.displayProgress.title.text=Progreso de generaci\u00f3n de informe...
+ReportGenerator.progress.queryingDb.text=Consultando base de datos...
+ReportGenerator.progress.readingTagsArtifacts.text=Leyendo etiquetas y artefactos de la base de datos del caso
+ReportGenerator.progress.processingFile.text=Procesando ahora {0}
+ReportGenerator.artifactTable.taggedResults.text=Contiene resultados que fueron etiquetados con uno de los siguientes:
+ReportGenerator.progress.processing=Procesando ahora {0}...
+ReportGenerator.msgShow.skippingArtType.title=Omitiendo tipo de artefacto {0} en informes
+ReportGenerator.msgShow.skippingArtType.msg=Columnas desconocidas para informar
+ReportGenerator.makeContTagTab.taggedFiles.msg=Contiene archivos que fueron etiquetados con uno de los siguientes:
+ReportGenerator.makeBbArtTagTab.taggedRes.msg=Este informe solo incluye resultados etiquetados con:
+ReportGenerator.tagTable.header.resultType=Tipo de resultado
+ReportGenerator.tagTable.header.tag=Etiqueta
+ReportGenerator.tagTable.header.comment=Comentario
+ReportGenerator.tagTable.header.srcFile=Archivo fuente
+ReportGenerator.progress.createdThumb.text=Creando miniaturas...
+ReportGenerator.htmlOutput.header.file=Archivo
+ReportGenerator.htmlOutput.header.tag=Etiqueta
+ReportGenerator.htmlOutput.header.comment=Comentario
+ReportGenerator.htmlOutput.header.timeModified=Hora de modificaci\u00f3n
+ReportGenerator.htmlOutput.header.timeChanged=Hora de cambio
+ReportGenerator.htmlOutput.header.timeAccessed=Hora de acceso
+ReportGenerator.htmlOutput.header.timeCreated=Hora de creaci\u00f3n
+ReportGenerator.htmlOutput.header.size=Tama\u00f1o (Bytes)
+ReportGenerator.htmlOutput.header.hash=Hash
+ReportGenerator.thumbnailTable.name=Im\u00e1genes etiquetadas
+ReportGenerator.thumbnailTable.desc=Contiene miniaturas de im\u00e1genes asociadas con archivos y resultados etiquetados.
+ReportGenerator.writeKwHits.userSrchs=B\u00fasquedas de usuario
+ReportGenerator.progress.processingList=Procesando ahora {0} ({1})...
+ReportGenerator.artTableColHdr.url=URL
+ReportGenerator.artTableColHdr.title=T\u00edtulo
+ReportGenerator.artTableColHdr.dateCreated=Fecha de creaci\u00f3n
+ReportGenerator.artTableColHdr.program=Programa
+ReportGenerator.artTableColHdr.urlDomainDecoded=Dominio de URL
+ReportGenerator.artTableColHdr.srcFile=Archivo fuente
+ReportGenerator.artTableColHdr.dateTime=Fecha/Hora
+ReportGenerator.artTableColHdr.name=Nombre
+ReportGenerator.artTableColHdr.value=Valor
+ReportGenerator.artTableColHdr.dateAccessed=Fecha de acceso
+ReportGenerator.artTableColHdr.referrer=Referente
+ReportGenerator.artTableColHdr.dest=Destino
+ReportGenerator.artTableColHdr.sourceUrl=URL de origen
+ReportGenerator.artTableColHdr.path=Ruta
+ReportGenerator.artTableColHdr.progName=Nombre del programa
+ReportGenerator.artTableColHdr.instDateTime=Fecha/Hora de instalaci\u00f3n
+ReportGenerator.artTableColHdr.preview=Vista previa
+ReportGenerator.artTableColHdr.file=Archivo
+ReportGenerator.artTableColHdr.size=Tama\u00f1o
+ReportGenerator.artTableColHdr.deviceId=ID del dispositivo
+ReportGenerator.artTableColHdr.text=Texto
+ReportGenerator.artTableColHdr.domain=Dominio
+ReportGenerator.artTableColHdr.dateTaken=Fecha de captura
+ReportGenerator.artTableColHdr.devManufacturer=Fabricante del dispositivo
+ReportGenerator.artTableColHdr.devMake=Marca del dispositivo
+ReportGenerator.artTableColHdr.devModel=Modelo del dispositivo
+ReportGenerator.artTableColHdr.latitude=Latitud
+ReportGenerator.artTableColHdr.longitude=Longitud
+ReportGenerator.artTableColHdr.latitudeStart=Latitud de inicio
+ReportGenerator.artTableColHdr.longitudeStart=Longitud de inicio
+ReportGenerator.artTableColHdr.latitudeEnd=Latitud final
+ReportGenerator.artTableColHdr.longitudeEnd=Longitud final
+ReportGenerator.artTableColHdr.associatedArtifact=Artefacto asociado
+ReportGenerator.artTableColHdr.count=Conteo
+ReportGenerator.artTableColHdr.personName=Nombre de la persona
+ReportGenerator.artTableColHdr.phoneNumber=N\u00famero de tel\u00e9fono
+ReportGenerator.artTableColHdr.phoneNumHome=N\u00famero de tel\u00e9fono (Casa)
+ReportGenerator.artTableColHdr.phoneNumOffice=N\u00famero de tel\u00e9fono (Oficina)
+ReportGenerator.artTableColHdr.phoneNumMobile=N\u00famero de tel\u00e9fono (M\u00f3vil)
+ReportGenerator.artTableColHdr.email=Correo electr\u00f3nico
+ReportGenerator.artTableColHdr.msgType=Tipo de mensaje
+ReportGenerator.artTableColHdr.direction=Direcci\u00f3n
+ReportGenerator.artTableColHdr.readStatus=Estado de lectura
+ReportGenerator.artTableColHdr.fromPhoneNum=Desde n\u00famero de tel\u00e9fono
+ReportGenerator.artTableColHdr.fromEmail=Desde correo electr\u00f3nico
+ReportGenerator.artTableColHdr.toPhoneNum=Hacia n\u00famero de tel\u00e9fono
+ReportGenerator.artTableColHdr.toEmail=Hacia correo electr\u00f3nico
+ReportGenerator.artTableColHdr.subject=Asunto
+ReportGenerator.artTableColHdr.tskEmailTo=Correo a
+ReportGenerator.artTableColHdr.tskEmailCc=CC de correo
+ReportGenerator.artTableColHdr.tskEmailBcc=BCC de correo
+ReportGenerator.artTableColHdr.tskEmailFrom=Correo de
+ReportGenerator.artTableColHdr.tskMsgId=ID del mensaje
+ReportGenerator.artTableColHdr.tskDateTimeRcvd=Fecha de recepci\u00f3n
+ReportGenerator.artTableColHdr.tskDateTimeSent=Fecha de env\u00edo
+ReportGenerator.artTableColHdr.tskSubject=Asunto
+ReportGenerator.artTableColHdr.tskSetName=Nombre del conjunto
+ReportGenerator.artTableColHdr.tskInterestingFilesCategory=Regla
+ReportGenerator.artTableColHdr.tskGpsRouteCategory=Categor\u00eda
+ReportGenerator.artTableColHdr.tskPath=Ruta
+ReportGenerator.artTableColHdr.calendarEntryType=Tipo de entrada de calendario
+ReportGenerator.artTableColHdr.description=Descripci\u00f3n
+ReportGenerator.artTableColHdr.startDateTime=Fecha/Hora de inicio
+ReportGenerator.artTableColHdr.endDateTime=Fecha/Hora de fin
+ReportGenerator.artTableColHdr.location=Ubicaci\u00f3n
+ReportGenerator.artTableColHdr.shortCut=Acceso directo
+ReportGenerator.artTableColHdr.deviceName=Nombre del dispositivo
+ReportGenerator.artTableColHdr.deviceAddress=Direcci\u00f3n del dispositivo
+ReportGenerator.artTableColHdr.altitude=Altitud
+ReportGenerator.artTableColHdr.locationAddress=Direcci\u00f3n de ubicaci\u00f3n
+ReportGenerator.artTableColHdr.category=Categor\u00eda
+ReportGenerator.artTableColHdr.userId=ID de usuario
+ReportGenerator.artTableColHdr.userName=Nombre de usuario
+ReportGenerator.artTableColHdr.password=Contrase\u00f1a
+ReportGenerator.artTableColHdr.appName=Nombre de la aplicaci\u00f3n
+ReportGenerator.artTableColHdr.appPath=Ruta de la aplicaci\u00f3n
+ReportGenerator.artTableColHdr.replytoAddress=Direcci\u00f3n de respuesta
+ReportGenerator.artTableColHdr.mailServer=Servidor de correo
+ReportGenerator.artTableColHdr.tags=Etiquetas
+ReportGenerator.artTableColHdr.localPath=Ruta local
+ReportGenerator.artTableColHdr.remotePath=Ruta remota
+ReportGenerator.errors.reportErrorTitle=Error al generar el informe
+ReportGenerator.errors.reportErrorText=Error al generar el informe:
+ReportVisualPanel1.getName.text=Seleccionar y configurar m\u00f3dulos de informe
+ReportVisualPanel2.getName.text=Configurar informe
+ReportWizardAction.actionName.text=Generar informe
+ReportWizardAction.reportWiz.title=Generar informe
+ReportWizardAction.toolBarButton.text=Generar informe
+ReportWizardAction.unableToSaveConfig.errorLabel.text=Error al guardar la configuraci\u00f3n del informe
+ReportWizardFileOptionsPanel.finishButton.text=Finalizar
+ReportWizardFileOptionsVisualPanel.getName.text=Configurar archivo de informe
+ReportWizardPanel1.nextButton.text=Siguiente >
+ReportWizardPanel1.finishButton.text=Finalizar
+ReportWizardPanel2.finishButton.text=Finalizar
+ReportWizardPanel2.nextButton.text=Siguiente >
+ReportGenerator.artTableColHdr.extension.text=Extensi\u00f3n
+ReportGenerator.artTableColHdr.mimeType.text=Tipo MIME
+ReportGenerator.artTableColHdr.processorArchitecture.text=Arquitectura del procesador
+ReportGenerator.artTableColHdr.osName.text=Nombre del sistema operativo
+ReportGenerator.artTableColHdr.osInstallDate.text=Fecha de instalaci\u00f3n
+ReportGenerator.errList.failedMakeRptFolder=No se pudo crear la carpeta de informe, puede que no se puedan generar informes.
+ReportGenerator.notifyErr.errsDuringRptGen=Errores durante la generaci\u00f3n del informe:
+ReportGenerator.errList.failedGetAllTagsArtifacts=No se pudieron obtener todos los nombres de etiquetas posibles y tipos de artefactos.
+ReportGenerator.errList.noReportSettings=La configuraci\u00f3n del informe no ha sido establecida.
+ReportGenerator.errList.failedGetContentTags=No se pudieron obtener las etiquetas de contenido.
+ReportGenerator.errList.errGetContentFromBBArtifact=Error al obtener contenido de un artefacto del blackboard para el informe.
+ReportGenerator.errList.failedGetBBAttribs=No se pudieron obtener los atributos del Blackboard al generar el informe.
+ReportGenerator.errList.failedGetBBArtifacts=No se pudieron obtener los artefactos del Blackboard al generar el informe.
+ReportGenerator.errList.failedQueryKWLists=No se pudieron consultar las listas de palabras clave.
+ReportGenerator.errList.failedGetAbstractFileByID=No se pudo obtener el archivo abstracto por ID.
+ReportGenerator.errList.failedQueryKWs=No se pudieron consultar las palabras clave.
+ReportGenerator.errList.failedQueryHashsetLists=No se pudieron consultar las listas de conjuntos hash.
+ReportGenerator.errList.failedGetAbstractFileFromID=No se pudo obtener el archivo abstracto desde el ID.
+ReportGenerator.errList.failedQueryHashsetHits=No se pudieron consultar coincidencias en conjuntos hash.
+ReportGenerator.errList.coreExceptionWhileGenRptRow=Excepci\u00f3n principal al generar los datos de la fila del informe de artefactos.
+CreatePortableCasePanel.selectAllButton.text=Seleccionar todo
+CreatePortableCasePanel.deselectAllButton.text=Deseleccionar todo
+CreatePortableCasePanel.outputFolderTextField.text=jTextField1
+CreatePortableCasePanel.chooseOutputFolderButton.text=Elegir carpeta
+CreatePortableCasePanel.jLabel1.text=Exportar archivos etiquetados como:
+CreatePortableCasePanel.jLabel2.text=Seleccionar carpeta de salida:
+CreatePortableCasePanel.errorLabel.text_1=Solo para Windows
+FileReportDataTypes.filename.text=Nombre
+FileReportDataTypes.fileExt.text=Extensi\u00f3n de archivo
+FileReportDataTypes.fileType.text=Tipo de archivo
+FileReportDataTypes.isDel.text=Eliminado
+FileReportDataTypes.aTime.text=\u00daltimo acceso
+FileReportDataTypes.crTime.text=Archivo creado
+FileReportDataTypes.mTime.text=\u00daltima modificaci\u00f3n
+FileReportDataTypes.size.text=Tama\u00f1o
+FileReportDataTypes.address.text=Direcci\u00f3n
+FileReportDataTypes.hash.text=Valor hash
+FileReportDataTypes.knownStatus.text=Estado conocido
+FileReportDataTypes.perms.text=Permisos
+FileReportDataTypes.path.text=Ruta completa
+ReportWizardPortableCaseOptionsVisualPanel.getName.title=Elegir configuraci\u00f3n del caso portable
+ReportWizardPortableCaseOptionsVisualPanel.includeAppCheckbox.text=Incluir aplicaci\u00f3n en la carpeta (puede agregar hasta 1GB de archivos)
+TableReportGenerator.StatusColumn.Header=Estado de revisi\u00f3n
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_ar.properties
deleted file mode 100644
index c6bd820323b..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_ar.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-ReportBodyFile.progress.querying=Consultando archivos...
-ReportBodyFile.ingestWarning.text=Advertencia, este informe se ejecuto antes de que se completaran los servicios de ingestion\.
-ReportBodyFile.progress.loading=Cargando archivos...
-ReportBodyFile.progress.processing=Procesando {0}...
-ReportBodyFile.getName.text=Archivo del Cuerpo TSK
-ReportBodyFile.getDesc.text=Informe de formato de archivo de cuerpo con marcas de tiempo MAC para cada archivo. Este formato puede ser utilizado para una vista de linea de tiempo.
-ReportBodyFile.getFilePath.text=BodyFile.txt
-ReportBodyFile.generateReport.srcModuleName.text=Archivo del Cuerpo TSK
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_es.properties
new file mode 100644
index 00000000000..1b6374e5d7e
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/bodyfile/Bundle_es.properties
@@ -0,0 +1,15 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ReportBodyFile.progress.querying=Consultando archivos...
+ReportBodyFile.ingestWarning.text=Advertencia, este informe se ejecut\u00f3 antes de que se completaran los servicios de ingest\u00f3n\!
+ReportBodyFile.progress.loading=Cargando archivos...
+ReportBodyFile.progress.processing=Procesando ahora {0}...
+ReportBodyFile.getName.text=Archivo TSK Body
+ReportBodyFile.getDesc.text=Informe en formato body file con tiempos MAC para cada archivo. Este formato puede usarse para una vista de l\u00ednea de tiempo.
+ReportBodyFile.getFilePath.text=BodyFile.txt
+ReportBodyFile.generateReport.srcModuleName.text=Archivo TSK Body
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/caseuco/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/caseuco/Bundle_ar.properties
deleted file mode 100644
index 65988fe161f..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/caseuco/Bundle_ar.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-CaseUcoReportModule.ingestWarning=Advertencia, este informe sera creado antes de que se completen los servicios de ingestion.
-CaseUcoReportModule.ioError=Se ha producido un error de E/S al generar el informe.
-CaseUcoReportModule.noCaseOpen=No hay un caso abierto actualmente.
-CaseUcoReportModule.noDataSourceSelected=Ningun origen de datos seleccionado para el informe CASE-UCO.
-CaseUcoReportModule.notInitialized=El panel de configuracion de CASE-UCO no ha sido inicializado.
-CaseUcoReportModule.processingDataSource=Procesando origen de datos: %s
-CaseUcoReportModule.srcModuleName=Informe CASE-UCO
-CaseUcoReportModule.tskCoreException=Se encontro una TskCoreException [%s] al generar el informe. Por favor, consulte el registro para obtener mas detalles.
-CaseUcoReportModule.unableToCreateDirectories=No se puede crear el directorio para el informe CASE-UCO.
-OpenIDE-Module-Name=CaseUcoModule
-CaseUcoReportModule.getName.text=CASE-UCO
-CaseUcoReportModule.getDesc.text=Informe de formato CASE-UCO con campos basicos de propiedades para cada archivo.
-ReportCaseUcoConfigPanel.jLabelSelectDataSource.text=Seleccione un origen de datos para el informe CASE-UCO.
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/caseuco/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/caseuco/Bundle_es.properties
new file mode 100644
index 00000000000..10ba4b0a165
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/caseuco/Bundle_es.properties
@@ -0,0 +1,20 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CaseUcoReportModule.ingestWarning=Advertencia, este informe se crear\u00e1 antes de que se completen los servicios de ingesta
+CaseUcoReportModule.ioError=Error de E/S encontrado al generar el informe
+CaseUcoReportModule.noCaseOpen=Actualmente no hay ning\u00fan caso abierto
+CaseUcoReportModule.noDataSourceSelected=No se seleccion\u00f3 ninguna fuente de datos para el informe CASE-UCO
+CaseUcoReportModule.notInitialized=El panel de configuraci\u00f3n de CASE-UCO no ha sido inicializado
+CaseUcoReportModule.processingDataSource=Procesando fuente de datos: %s
+CaseUcoReportModule.srcModuleName=Informe CASE-UCO
+CaseUcoReportModule.tskCoreException=Se encontr\u00f3 TskCoreException [%s] al generar el informe. Por favor, consulte el registro para m\u00e1s detalles.
+CaseUcoReportModule.unableToCreateDirectories=No se pudo crear el directorio para el informe CASE-UCO
+OpenIDE-Module-Name=M\u00f3dulo CaseUco
+CaseUcoReportModule.getName.text=CASE-UCO
+CaseUcoReportModule.getDesc.text=Informe en formato CASE-UCO con campos b\u00e1sicos de propiedades para cada archivo.
+ReportCaseUcoConfigPanel.jLabelSelectDataSource.text=Seleccione una fuente de datos para el informe CASE-UCO
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/datasourcesummaryexport/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/datasourcesummaryexport/Bundle_ar.properties
deleted file mode 100644
index 595b9715725..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/datasourcesummaryexport/Bundle_ar.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-DataSourceSummaryReport.error.noDataSources=No se han seleccionado fuentes de datos para el informe.
-DataSourceSummaryReport.error.noOpenCase=No hay un caso abierto actualmente.
-DataSourceSummaryReport.excelFileWriteError=No se pudo escribir el archivo XLSX.
-DataSourceSummaryReport.failedToCompleteReport=No se pudo completar el informe.
-DataSourceSummaryReport.getName.text=Informe Resumen del Origen de Datos
-DataSourceSummaryReport.getDesc.text=Informe resumen del origen de datos en formato Excel (XLS).
-DataSourceSummaryReport.endReport.srcModuleName.text=Informe de Excel
-# {0} - sheetNumber
-ExcelExport_writeExcel_noSheetName=Hoja {0}
-ExcelExportAction_exportToXLSX_beginExport=Comenzando la exportacion...
-ExcelExportAction_exportToXLSX_gatheringAnalysisData=Recopilando datos de analisis
-ExcelExportAction_exportToXLSX_gatheringContainerData=Recopilando datos del contenedor e imagen
-ExcelExportAction_exportToXLSX_gatheringFileData=Recopilando datos de archivos y tipo MIME
-ExcelExportAction_exportToXLSX_gatheringGeoData=Recopilando datos de geolocalizacion
-ExcelExportAction_exportToXLSX_gatheringIngestData=Recopilando datos del historial de ingestion
-ExcelExportAction_exportToXLSX_gatheringPastData=Recopilando datos historicos
-ExcelExportAction_exportToXLSX_gatheringRecentActivityData=Recopilando datos de actividad reciente
-ExcelExportAction_exportToXLSX_gatheringTimelineData=Recopilando datos de la linea de tiempo
-ExcelExportAction_exportToXLSX_gatheringUserData=Recopilando datos de actividad del usuario
-ExcelExportAction_exportToXLSX_writingToFile=Escribiendo en el archivo...
-ExcelExportAction_getXLSXPath_directory=ResumenDelOrigenDeDatos
-ExcelExportAction_moduleName=Resumen del Origen de Datos
-ExportAnalysisResults_countColumn_title=Cantidad
-ExportAnalysisResults_hashsetHits_tabName=Resultados de Conjuntos de Hash
-ExportAnalysisResults_interestingItemHits_tabName=Resultados de Elementos Interesantes
-ExportAnalysisResults_keyColumn_title=Nombre
-ExportAnalysisResults_keywordHits_tabName=Resultados de Busqueda de Palabras Clave
-ExportAnalysisResults_keywordSearchModuleName=Busqueda de Palabras Clave
-ExportContainerInfo_export_acquisitionDetails=Detalles de Adquisicion:
-ExportContainerInfo_export_deviceId=ID del Dispositivo:
-ExportContainerInfo_export_displayName=Nombre a Mostrar:
-ExportContainerInfo_export_filePaths=Rutas de Archivos:
-ExportContainerInfo_export_imageType=Tipo de Imagen:
-ExportContainerInfo_export_md5=MD5:
-ExportContainerInfo_export_originalName=Nombre Original:
-ExportContainerInfo_export_sectorSize=Tamanio de Sector:
-ExportContainerInfo_export_sha1=SHA1:
-ExportContainerInfo_export_sha256=SHA256:
-ExportContainerInfo_export_size=Tamanio:
-ExportContainerInfo_export_timeZone=Zona Horaria:
-ExportContainerInfo_export_unallocatedSize=Espacio No Asignado:
-ExportContainerInfo_setFieldsForNonImageDataSource_na=N/A
-ExportContainerInfo_tabName=Contenedor
-ExportGeolocation_cityColumn_title=Ciudad mas Cercana
-ExportGeolocation_countColumn_title=Cantidad
-ExportGeolocation_mostCommon_tabName=Ciudades mas Comunes
-ExportGeolocation_mostRecent_tabName=Ciudades mas Recientes
-ExportGeolocation_unknownRow_title=Desconocido
-ExportIngestHistory_endTimeColumn=Hora de Finalizacion
-ExportIngestHistory_ingestStatusTimeColumn=Estado de Ingestion
-ExportIngestHistory_moduleNameTimeColumn=Nombre del Modulo
-ExportIngestHistory_sheetName=Historial de Ingestion
-ExportIngestHistory_startTimeColumn=Hora de Inicio
-ExportIngestHistory_versionColumn=Version del Modulo
-ExportPastCases_caseColumn_title=Caso
-ExportPastCases_countColumn_title=Cantidad
-ExportPastCases_notableFileTable_tabName=Casos con elementos notables comunes
-ExportPastCases_seenDevicesTable_tabName=Casos con los mismos ID de dispositivos
-ExportPastCases_seenResultsTable_tabName=Casos con las mismas direcciones
-ExportRecentFiles_attachmentsTable_tabName=Adjuntos Recientes
-ExportRecentFiles_col_head_date=Fecha
-ExportRecentFiles_col_header_domain=Dominio
-ExportRecentFiles_col_header_path=Ruta
-ExportRecentFiles_col_header_sender=Remitente
-ExportRecentFiles_docsTable_tabName=Documentos Abiertos Recientemente
-ExportRecentFiles_downloadsTable_tabName=Descargas Recientes
-ExportTypes_artifactsTypesPieChart_title=Tipos de Artefactos
-ExportTypes_excelTabName=Tipos
-ExportTypes_fileMimeTypesChart_audio_title=Audio
-ExportTypes_fileMimeTypesChart_documents_title=Documentos
-ExportTypes_fileMimeTypesChart_executables_title=Ejecutables
-ExportTypes_fileMimeTypesChart_images_title=Imagenes
-ExportTypes_fileMimeTypesChart_notAnalyzed_title=No Analizados
-ExportTypes_fileMimeTypesChart_other_title=Otros
-ExportTypes_fileMimeTypesChart_title=Tipos de Archivos
-ExportTypes_fileMimeTypesChart_unknown_title=Desconocidos
-ExportTypes_fileMimeTypesChart_valueLabel=Cantidad
-ExportTypes_fileMimeTypesChart_videos_title=Videos
-ExportTypes_filesByCategoryTable_allocatedRow_title=Archivos Asignados
-ExportTypes_filesByCategoryTable_directoryRow_title=Directorios
-ExportTypes_filesByCategoryTable_slackRow_title=Archivos de Espacio Muerto
-ExportTypes_filesByCategoryTable_unallocatedRow_title=Archivos No Asignados
-ExportTypes_osLabel_title=Sistema Operativo
-ExportTypes_sizeLabel_title=Tamanio
-ExportTypes_usageLabel_title=Uso
-ExportUserActivity_noDataExists=No existen datos de comunicacion
-ExportUserActivity_tab_title=Actividad del Usuario
-ExportUserActivity_TopAccountTableModel_accountType_header=Tipo de Cuenta
-ExportUserActivity_TopAccountTableModel_lastAccess_header=ultimo Acceso
-ExportUserActivity_TopAccountTableModel_tabName=Tipos de Cuentas Recientes Utilizados
-ExportUserActivity_TopDeviceAttachedTableModel_dateAccessed_header=ultimo Acceso
-ExportUserActivity_TopDeviceAttachedTableModel_deviceId_header=ID del Dispositivo
-ExportUserActivity_TopDeviceAttachedTableModel_makeModel_header=Marca y Modelo
-ExportUserActivity_TopDeviceAttachedTableModel_tabName=Dispositivos Recientes Conectados
-ExportUserActivity_TopDomainsTableModel_count_header=Visitas
-ExportUserActivity_TopDomainsTableModel_domain_header=Dominio
-ExportUserActivity_TopDomainsTableModel_lastAccess_header=ultimo Acceso
-ExportUserActivity_TopDomainsTableModel_tabName=Dominios Recientes
-ExportUserActivity_TopProgramsTableModel_count_header=Veces Ejecutado
-ExportUserActivity_TopProgramsTableModel_folder_header=Carpeta
-ExportUserActivity_TopProgramsTableModel_lastrun_header=ultima Ejecucion
-ExportUserActivity_TopProgramsTableModel_name_header=Programa
-ExportUserActivity_TopProgramsTableModel_tabName=Programas Recientes
-ExportUserActivity_TopWebSearchTableModel_dateAccessed_header=Fecha de Acceso
-ExportUserActivity_TopWebSearchTableModel_searchString_header=Palabra Clave de Busqueda
-ExportUserActivity_TopWebSearchTableModel_tabName=Busquedas en la Web Recientes
-ExportUserActivity_TopWebSearchTableModel_translatedResult_header=Traducido
-SizeRepresentationUtil_units_bytes=bytes
-SizeRepresentationUtil_units_gigabytes=GB
-SizeRepresentationUtil_units_kilobytes=KB
-SizeRepresentationUtil_units_megabytes=MB
-SizeRepresentationUtil_units_petabytes=PB
-SizeRepresentationUtil_units_terabytes=TB
-TimelinePanel_earliestLabel_title=Primera Fecha
-TimelinePanel_getExports_activityRange=Rango de Actividad
-TimelinePanel_getExports_chartName=ultimos 30 Dias
-TimelinePanel_getExports_dateColumnHeader=Fecha
-TimelinePanel_getExports_earliest=Primera Fecha:
-TimelinePanel_getExports_latest=ultima Fecha:
-TimelinePanel_getExports_sheetName=Linea de Tiempo
-TimelinePanel_latestLabel_title=ultima Fecha
-TimlinePanel_last30DaysChart_artifactEvts_title=Eventos de Resultados
-TimlinePanel_last30DaysChart_fileEvts_title=Eventos de Archivos
-TimlinePanel_last30DaysChart_title=ultimos 30 Dias
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/datasourcesummaryexport/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/datasourcesummaryexport/Bundle_es.properties
new file mode 100644
index 00000000000..09fb5e0d063
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/datasourcesummaryexport/Bundle_es.properties
@@ -0,0 +1,130 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+DataSourceSummaryReport.error.noDataSources=No se seleccionaron fuentes de datos para el informe.
+DataSourceSummaryReport.error.noOpenCase=No hay un caso abierto actualmente.
+DataSourceSummaryReport.excelFileWriteError=No se pudo escribir el archivo xlsx.
+DataSourceSummaryReport.failedToCompleteReport=No se pudo completar el informe.
+DataSourceSummaryReport.getName.text=Informe de resumen de fuentes de datos
+DataSourceSummaryReport.getDesc.text=Informe de resumen de fuentes de datos en formato Excel (XLS).
+DataSourceSummaryReport.endReport.srcModuleName.text=Informe de Excel
+ExcelExport_writeExcel_noSheetName=Hoja {0}
+ExcelExportAction_exportToXLSX_beginExport=Comenzando exportaci\u00f3n...
+ExcelExportAction_exportToXLSX_gatheringAnalysisData=Obteniendo datos de an\u00e1lisis
+ExcelExportAction_exportToXLSX_gatheringContainerData=Obteniendo datos de contenedor e imagen
+ExcelExportAction_exportToXLSX_gatheringFileData=Obteniendo datos de archivo y tipo MIME
+ExcelExportAction_exportToXLSX_gatheringGeoData=Obteniendo datos de geolocalizaci\u00f3n
+ExcelExportAction_exportToXLSX_gatheringIngestData=Obteniendo datos del historial de ingest\u00f3n
+ExcelExportAction_exportToXLSX_gatheringPastData=Obteniendo datos hist\u00f3ricos
+ExcelExportAction_exportToXLSX_gatheringRecentActivityData=Obteniendo datos de actividad reciente
+ExcelExportAction_exportToXLSX_gatheringTimelineData=Obteniendo datos de la l\u00ednea de tiempo
+ExcelExportAction_exportToXLSX_gatheringUserData=Obteniendo datos de actividad del usuario
+ExcelExportAction_exportToXLSX_writingToFile=Escribiendo en el archivo...
+ExcelExportAction_getXLSXPath_directory=ResumenDeFuenteDeDatos
+ExcelExportAction_moduleName=Resumen de fuente de datos
+ExportAnalysisResults_countColumn_title=Recuento
+ExportAnalysisResults_hashsetHits_tabName=Coincidencias de conjunto de hash
+ExportAnalysisResults_interestingItemHits_tabName=Coincidencias de elementos interesantes
+ExportAnalysisResults_keyColumn_title=Nombre
+ExportAnalysisResults_keywordHits_tabName=Coincidencias de palabras clave
+ExportAnalysisResults_keywordSearchModuleName=B\u00fasqueda por palabra clave
+ExportContainerInfo_export_acquisitionDetails=Detalles de adquisici\u00f3n:
+ExportContainerInfo_export_deviceId=ID del dispositivo:
+ExportContainerInfo_export_displayName=Nombre para mostrar:
+ExportContainerInfo_export_filePaths=Rutas de archivo:
+ExportContainerInfo_export_imageType=Tipo de imagen:
+ExportContainerInfo_export_md5=MD5:
+ExportContainerInfo_export_originalName=Nombre:
+ExportContainerInfo_export_sectorSize=Tama\u00f1o del sector:
+ExportContainerInfo_export_sha1=SHA1:
+ExportContainerInfo_export_sha256=SHA256:
+ExportContainerInfo_export_size=Tama\u00f1o:
+ExportContainerInfo_export_timeZone=Zona horaria:
+ExportContainerInfo_export_unallocatedSize=Espacio no asignado:
+ExportContainerInfo_setFieldsForNonImageDataSource_na=N/D
+ExportContainerInfo_tabName=Contenedor
+ExportGeolocation_cityColumn_title=Ciudad m\u00e1s cercana
+ExportGeolocation_countColumn_title=Recuento
+ExportGeolocation_mostCommon_tabName=Ciudades m\u00e1s comunes
+ExportGeolocation_mostRecent_tabName=Ciudades m\u00e1s recientes
+ExportGeolocation_unknownRow_title=Desconocido
+ExportIngestHistory_endTimeColumn=Hora de finalizaci\u00f3n
+ExportIngestHistory_ingestStatusTimeColumn=Estado de ingest\u00f3n
+ExportIngestHistory_moduleNameTimeColumn=Nombre del m\u00f3dulo
+ExportIngestHistory_sheetName=Historial de ingest\u00f3n
+ExportIngestHistory_startTimeColumn=Hora de inicio
+ExportIngestHistory_versionColumn=Versi\u00f3n del m\u00f3dulo
+ExportPastCases_caseColumn_title=Caso
+ExportPastCases_countColumn_title=Cantidad
+ExportPastCases_notableFileTable_tabName=Casos con elementos notables comunes
+ExportPastCases_seenDevicesTable_tabName=Casos con los mismos ID de dispositivos
+ExportPastCases_seenResultsTable_tabName=Casos con las mismas direcciones
+ExportRecentFiles_attachmentsTable_tabName=Adjuntos recientes
+ExportRecentFiles_col_head_date=Fecha
+ExportRecentFiles_col_header_domain=Dominio
+ExportRecentFiles_col_header_path=Ruta
+ExportRecentFiles_col_header_sender=Remitente
+ExportRecentFiles_docsTable_tabName=Documentos abiertos recientemente
+ExportRecentFiles_downloadsTable_tabName=Descargas recientes
+ExportTypes_artifactsTypesPieChart_title=Tipos de artefactos
+ExportTypes_excelTabName=Tipos
+ExportTypes_fileMimeTypesChart_audio_title=Audio
+ExportTypes_fileMimeTypesChart_documents_title=Documentos
+ExportTypes_fileMimeTypesChart_executables_title=Ejecutables
+ExportTypes_fileMimeTypesChart_images_title=Im\u00e1genes
+ExportTypes_fileMimeTypesChart_notAnalyzed_title=No analizado
+ExportTypes_fileMimeTypesChart_other_title=Otro
+ExportTypes_fileMimeTypesChart_title=Tipos de archivo
+ExportTypes_fileMimeTypesChart_unknown_title=Desconocido
+ExportTypes_fileMimeTypesChart_valueLabel=Cantidad
+ExportTypes_fileMimeTypesChart_videos_title=Videos
+ExportTypes_filesByCategoryTable_allocatedRow_title=Archivos asignados
+ExportTypes_filesByCategoryTable_directoryRow_title=Directorios
+ExportTypes_filesByCategoryTable_slackRow_title=Archivos slack
+ExportTypes_filesByCategoryTable_unallocatedRow_title=Archivos no asignados
+ExportTypes_osLabel_title=SO
+ExportTypes_sizeLabel_title=Tama\u00f1o
+ExportTypes_usageLabel_title=Uso
+ExportUserActivity_noDataExists=No existen datos de comunicaci\u00f3n
+ExportUserActivity_tab_title=Actividad del usuario
+ExportUserActivity_TopAccountTableModel_accountType_header=Tipo de cuenta
+ExportUserActivity_TopAccountTableModel_lastAccess_header=\u00daltimo acceso
+ExportUserActivity_TopAccountTableModel_tabName=Tipos de cuenta usados recientemente
+ExportUserActivity_TopDeviceAttachedTableModel_dateAccessed_header=\u00daltimo acceso
+ExportUserActivity_TopDeviceAttachedTableModel_deviceId_header=ID del dispositivo
+ExportUserActivity_TopDeviceAttachedTableModel_makeModel_header=Marca y modelo
+ExportUserActivity_TopDeviceAttachedTableModel_tabName=Dispositivos conectados recientemente
+ExportUserActivity_TopDomainsTableModel_count_header=Visitas
+ExportUserActivity_TopDomainsTableModel_domain_header=Dominio
+ExportUserActivity_TopDomainsTableModel_lastAccess_header=\u00daltimo acceso
+ExportUserActivity_TopDomainsTableModel_tabName=Dominios recientes
+ExportUserActivity_TopProgramsTableModel_count_header=Ejecuciones
+ExportUserActivity_TopProgramsTableModel_folder_header=Carpeta
+ExportUserActivity_TopProgramsTableModel_lastrun_header=\u00daltima ejecuci\u00f3n
+ExportUserActivity_TopProgramsTableModel_name_header=Programa
+ExportUserActivity_TopProgramsTableModel_tabName=Programas recientes
+ExportUserActivity_TopWebSearchTableModel_dateAccessed_header=Fecha de acceso
+ExportUserActivity_TopWebSearchTableModel_searchString_header=T\u00e9rmino de b\u00fasqueda
+ExportUserActivity_TopWebSearchTableModel_tabName=B\u00fasquedas web recientes
+ExportUserActivity_TopWebSearchTableModel_translatedResult_header=Traducido
+SizeRepresentationUtil_units_bytes=bytes
+SizeRepresentationUtil_units_gigabytes=GB
+SizeRepresentationUtil_units_kilobytes=KB
+SizeRepresentationUtil_units_megabytes=MB
+SizeRepresentationUtil_units_petabytes=PB
+SizeRepresentationUtil_units_terabytes=TB
+TimelinePanel_earliestLabel_title=Primero
+TimelinePanel_getExports_activityRange=Rango de actividad
+TimelinePanel_getExports_chartName=\u00daltimos 30 d\u00edas
+TimelinePanel_getExports_dateColumnHeader=Fecha
+TimelinePanel_getExports_earliest=Primero:
+TimelinePanel_getExports_latest=\u00daltimo:
+TimelinePanel_getExports_sheetName=L\u00ednea de tiempo
+TimelinePanel_latestLabel_title=\u00daltimo
+TimlinePanel_last30DaysChart_artifactEvts_title=Eventos de resultados
+TimlinePanel_last30DaysChart_fileEvts_title=Eventos de archivos
+TimlinePanel_last30DaysChart_title=\u00daltimos 30 d\u00edas
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_ar.properties
deleted file mode 100644
index 9e35f6569d3..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_ar.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-ReportExcel.exceptionMessage.dataTooLarge=El valor es demasiado largo para caber en una celda de Excel.
-ReportExcel.exceptionMessage.errorText=Error al mostrar los datos en una celda de Excel.
-ReportExcel.numAartifacts.text=Numero de artefactos:
-ReportExcel.getName.text=Informe de Excel
-ReportExcel.getDesc.text=Un informe sobre los resultados e items etiquetados en formato Excel (XLS).
-ReportExcel.sheetName.text=Resumen
-ReportExcel.cellVal.summary=Resumen
-ReportExcel.cellVal.caseName=Nombre del Caso:
-ReportExcel.cellVal.caseNum=Numero del Caso:
-ReportExcel.cellVal.examiner=Examinador:
-ReportExcel.cellVal.numImages=Numero de Imagenes:
-ReportExcel.endReport.srcModuleName.text=Informe de Excel
-ReportExcel.writeSummary.caseName=Nombre del Caso:
-ReportExcel.writeSummary.caseNotes=Notas del Caso:
-ReportExcel.writeSummary.caseNum=Numero del Caso:
-ReportExcel.writeSummary.examiner=Examinador:
-ReportExcel.writeSummary.numImages=Numero de fuentes de datos en el caso:
-ReportExcel.writeSummary.sheetName=Resumen
-ReportExcel.writeSummary.summary=Resumen
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_es.properties
new file mode 100644
index 00000000000..38b54c4477f
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/excel/Bundle_es.properties
@@ -0,0 +1,26 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ReportExcel.exceptionMessage.dataTooLarge=El valor es demasiado largo para caber en una celda de Excel.
+ReportExcel.exceptionMessage.errorText=Error al mostrar los datos en una celda de Excel.
+ReportExcel.numAartifacts.text=N\u00famero de artefactos:
+ReportExcel.getName.text=Informe de Excel
+ReportExcel.getDesc.text=Un informe sobre resultados y elementos etiquetados en formato Excel (XLS).
+ReportExcel.sheetName.text=Resumen
+ReportExcel.cellVal.summary=Resumen
+ReportExcel.cellVal.caseName=Nombre del caso:
+ReportExcel.cellVal.caseNum=N\u00famero del caso:
+ReportExcel.cellVal.examiner=Perito:
+ReportExcel.cellVal.numImages=N\u00famero de im\u00e1genes:
+ReportExcel.endReport.srcModuleName.text=Informe de Excel
+ReportExcel.writeSummary.caseName=Nombre del caso:
+ReportExcel.writeSummary.caseNotes=Notas del caso:
+ReportExcel.writeSummary.caseNum=N\u00famero del caso:
+ReportExcel.writeSummary.examiner=Perito:
+ReportExcel.writeSummary.numImages=N\u00famero de fuentes de datos en el caso:
+ReportExcel.writeSummary.sheetName=Resumen
+ReportExcel.writeSummary.summary=Resumen
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_ar.properties
deleted file mode 100644
index e3d2bd5f4fb..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_ar.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-
-ReportFileTextConfigurationPanel.tabDelimitedButton.text=Delimitado por tabulaciones
-ReportFileTextConfigurationPanel.commaDelimitedButton.text=Delimitado por comas
-FileReportText.getName.text=Archivos - Texto
-FileReportText.getDesc.text=Un archivo de texto delimitado que contiene informacion sobre archivos individuales en el caso.
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_es.properties
new file mode 100644
index 00000000000..94dfed5c6b3
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/file/Bundle_es.properties
@@ -0,0 +1,11 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ReportFileTextConfigurationPanel.tabDelimitedButton.text=Delimitado por tabulaci\u00f3n
+ReportFileTextConfigurationPanel.commaDelimitedButton.text=Delimitado por comas
+FileReportText.getName.text=Archivos - Texto
+FileReportText.getDesc.text=Un archivo de texto delimitado que contiene informaci\u00f3n sobre archivos individuales en el caso.
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_ar.properties
deleted file mode 100644
index fba084c4c3e..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_ar.properties
+++ /dev/null
@@ -1,39 +0,0 @@
-ReportHTML.addThumbRows.dataType.title=Imagenes Etiquetadas - {0}
-ReportHTML.addThumbRows.dataType.msg=Resultados Etiquetados y Contenidos que contienen imagenes.
-ReportHTML.thumbLink.tags=Etiquetas:
-ReportHTML.getName.text=Reporte HTML
-ReportHTML.getDesc.text=Un reporte sobre resultados e items etiquetados en formato HTML.
-ReportHTML.writeIndex.title=para el caso {0}
-ReportHTML.writeIndex.noFrames.msg=Tu navegador no es compatible con nuestra configuracion de marcos (frames).
-ReportHTML.writeIndex.noFrames.seeNav=Por favor, visita la pagina de navegacion para enlaces a artefactos,
-ReportHTML.writeIndex.seeSum=y la pagina de resumen para un resumen del caso.
-ReportHTML.writeNav.title=Navegacion del Reporte
-ReportHTML.writeNav.h1=Navegacion del Reporte
-ReportHTML.writeNav.summary=Resumen del Caso
-ReportHTML.writeSum.case=Caso:
-ReportHTML.writeSum.caseNotes=Notas:
-ReportHTML.writeSum.caseNumber=Numero de Caso:
-ReportHTML.writeSum.caseNumImages=Numero de fuentes de datos en el caso:
-ReportHTML.writeSum.examiner=Examinador:
-ReportHTML.writeSum.title=Resumen del Caso
-ReportHTML.writeSum.warningMsg=Advertencia, este reporte se genero antes de que se completaran los servicios de ingestion!
-#
-# autopsy/test/scripts/regression.py._html_report_diff() uses reportGenOn.text, caseName, caseNum,
-# examiner as a regex signature to skip report.html and summary.html
-#
-ReportHTML.writeSum.reportGenOn.text=Reporte HTML generado el {0}
-ReportHTML.writeSum.imageInfoHeading=Informacion de la Imagen:
-ReportHTML.writeSum.softwareInfoHeading=Informacion del Software:
-ReportHTML.writeSum.ingestHistoryHeading=Historial de Ingestion:
-ReportHTML.writeSum.modulesEnabledHeading=Modulos Habilitados:
-ReportHTML.writeSum.autopsyVersion=Version de Autopsy:
-ReportHTML.writeSum.timezone=Zona Horaria:
-ReportHTML.writeSum.path=Ruta:
-ReportHTML.writeIndex.srcModuleName.text=Reporte HTML
-HTMLReportConfigurationPanel.headerTextField.text=
-HTMLReportConfigurationPanel.footerLabel.text=Pie de Pagina:
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-HTMLReportConfigurationPanel.headerLabel.text=Encabezado:
-HTMLReportConfigurationPanel.footerTextField.text=
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_es.properties
new file mode 100644
index 00000000000..5067e83a4c1
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/html/Bundle_es.properties
@@ -0,0 +1,39 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+ReportHTML.addThumbRows.dataType.title=Im\u00e1genes etiquetadas - {0}
+ReportHTML.addThumbRows.dataType.msg=Resultados etiquetados y contenidos que contienen im\u00e1genes.
+ReportHTML.thumbLink.tags=Etiquetas:
+ReportHTML.getName.text=Informe HTML
+ReportHTML.getDesc.text=Un informe sobre resultados y elementos etiquetados en formato HTML.
+ReportHTML.writeIndex.title=para el caso {0}
+ReportHTML.writeIndex.noFrames.msg=Su navegador no es compatible con nuestra configuraci\u00f3n de marcos.
+ReportHTML.writeIndex.noFrames.seeNav=Por favor vea la p\u00e1gina de navegaci\u00f3n para enlaces a artefactos,
+ReportHTML.writeIndex.seeSum=y la p\u00e1gina de resumen para un resumen del caso.
+ReportHTML.writeNav.title=Navegaci\u00f3n del informe
+ReportHTML.writeNav.h1=Navegaci\u00f3n del informe
+ReportHTML.writeNav.summary=Resumen del caso
+ReportHTML.writeSum.case=Caso:
+ReportHTML.writeSum.caseNotes=Notas:
+ReportHTML.writeSum.caseNumber=N\u00famero de caso:
+ReportHTML.writeSum.caseNumImages=N\u00famero de fuentes de datos en el caso:
+ReportHTML.writeSum.examiner=Examinador:
+ReportHTML.writeSum.title=Resumen del caso
+ReportHTML.writeSum.warningMsg=Advertencia, este informe se ejecut\u00f3 antes de que los servicios de ingest\u00f3n se completaran\!
+ReportHTML.writeSum.reportGenOn.text=Informe HTML generado el {0}
+ReportHTML.writeSum.imageInfoHeading=Informaci\u00f3n de imagen:
+ReportHTML.writeSum.softwareInfoHeading=Informaci\u00f3n del software:
+ReportHTML.writeSum.ingestHistoryHeading=Historial de ingest\u00f3n:
+ReportHTML.writeSum.modulesEnabledHeading=M\u00f3dulos habilitados:
+ReportHTML.writeSum.autopsyVersion=Versi\u00f3n de Autopsy:
+ReportHTML.writeSum.timezone=Zona horaria:
+ReportHTML.writeSum.path=Ruta:
+ReportHTML.writeIndex.srcModuleName.text=Informe HTML
+HTMLReportConfigurationPanel.headerTextField.text=
+HTMLReportConfigurationPanel.footerLabel.text=Pie de p\u00e1gina:
+HTMLReportConfigurationPanel.headerLabel.text=Encabezado:
+HTMLReportConfigurationPanel.footerTextField.text=
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_ar.properties
deleted file mode 100644
index ce22abc0339..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_ar.properties
+++ /dev/null
@@ -1,38 +0,0 @@
-KMLReport.bookmarkError=No se ha podido extraer la informacion del marcador.
-# {0} - filePath
-KMLReport.errorGeneratingReport=Error al agregar {0} al caso como un informe.
-KMLReport.exifPhotoError=No se pudieron extraer fotos con metadatos EXIF.
-KMLReport.failedToCompleteReport=Error al completar el informe.
-KMLReport.gpsBookmarkError=No se pudieron obtener los marcadores GPS de la base de datos.
-KMLReport.gpsRouteDatabaseError=No se pudieron obtener las rutas GPS de la base de datos.
-KMLReport.gpsRouteError=No se pudo extraer informacion de ruta GPS.
-KMLReport.gpsSearchDatabaseError=No se pudieron obtener las busquedas GPS de la base de datos.
-KMLReport.kmlFileWriteError=No se pudo escribir el archivo KML.
-KMLReport.locationDatabaseError=No se pudo obtener la ultima ubicacion GPS conocida de la base de datos.
-KMLReport.locationError=No se pudo extraer informacion de la ultima ubicacion conocida.
-KMLReport.partialFailure=Hubo un error al crear el informe. Algunos elementos no se exportaron.
-KMLReport.stylesheetError=Error al colocar la hoja de estilo KML. El archivo .KML no funcionara correctamente.
-KMLReport.trackpointDatabaseError=No se pudieron obtener los puntos de ruta GPS de la base de datos.
-KMLReport.trackpointError=No se pudo extraer informacion de los puntos de ruta GPS.
-KMLReport.unableToExtractPhotos=No se pudo extraer informacion de fotos.
-KMLReport.unableToOpenCase=Excepcion al obtener el caso abierto.
-ReportBodyFile.ingestWarning.text=Advertencia de Ingestion
-ReportKML.progress.querying=Consultando archivos...
-ReportKML.progress.loading=Cargando archivos...
-ReportKML.getName.text=KML de Google Earth
-ReportKML.getDesc.text=Informe en formato KML con coordenadas para archivos relevantes. Este formato se puede utilizar para visualizar en Google Earth.
-ReportKML.getFilePath.text=ReporteKML.kml:
-ReportKML.genReport.srcModuleName.text=Datos Geoespaciales
-ReportKML.genReport.reportName=Informe KML
-ReportKML.latLongStartPoint={0};{1};;{2} (Inicio)\n
-ReportKML.latLongEndPoint={0};{1};;{2} (Fin)\n
-Route_Details_Header=Ruta GPS
-Waypoint_Area_Point_Display_String=Punto de Contorno de area GPS
-Waypoint_Bookmark_Display_String=Marcador GPS
-Waypoint_EXIF_Display_String=Metadatos EXIF con Ubicacion
-Waypoint_Last_Known_Display_String=ultima Ubicacion GPS Conocida
-Waypoint_Route_Point_Display_String=Punto Individual de Ruta GPS
-Waypoint_Search_Display_String=Busqueda GPS
-Waypoint_Track_Display_String=Trayectoria GPS
-Waypoint_Track_Point_Display_String=Punto Individual de Trayectoria GPS
-Waypoint_Trackpoint_Display_String=Punto de Trayectoria GPS
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_es.properties
new file mode 100644
index 00000000000..f94c8c3154f
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/kml/Bundle_es.properties
@@ -0,0 +1,45 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+KMLReport.bookmarkError=No se pudo extraer la informaci\u00f3n del marcador.
+# {0} - filePath
+KMLReport.errorGeneratingReport=Error al agregar {0} al caso como informe.
+KMLReport.exifPhotoError=No se pudieron extraer las fotos con metadatos EXIF.
+KMLReport.failedToCompleteReport=No se pudo completar el informe.
+KMLReport.gpsBookmarkError=No se pudieron obtener los marcadores GPS de la base de datos.
+KMLReport.gpsRouteDatabaseError=No se pudieron obtener las rutas GPS de la base de datos.
+KMLReport.gpsRouteError=No se pudo extraer la informaci\u00f3n de la ruta GPS.
+KMLReport.gpsSearchDatabaseError=No se pudieron obtener las b\u00fasquedas GPS de la base de datos.
+KMLReport.kmlFileWriteError=No se pudo escribir el archivo KML.
+KMLReport.locationDatabaseError=No se pudo obtener la \u00faltima ubicaci\u00f3n conocida de GPS de la base de datos.
+KMLReport.locationError=No se pudo extraer la informaci\u00f3n de la \u00faltima ubicaci\u00f3n conocida.
+KMLReport.partialFailure=Hubo un error al crear el informe. Algunos elementos no fueron exportados.
+KMLReport.stylesheetError=Error al colocar la hoja de estilo KML. El archivo .KML no funcionar\u00e1 correctamente.
+KMLReport.trackpointDatabaseError=No se pudieron obtener los puntos de seguimiento GPS de la base de datos.
+KMLReport.trackpointError=No se pudo extraer la informaci\u00f3n del punto de seguimiento.
+KMLReport.unableToExtractPhotos=No se pudo extraer la informaci\u00f3n de la foto.
+KMLReport.unableToOpenCase=Excepci\u00f3n al obtener el caso abierto.
+ReportBodyFile.ingestWarning.text=Mensaje de advertencia de ingest\u00f3n
+ReportKML.progress.querying=Consultando archivos...
+ReportKML.progress.loading=Cargando archivos...
+ReportKML.getName.text=Google Earth KML
+ReportKML.getDesc.text=Informe en formato KML con coordenadas para archivos relevantes. Este formato puede usarse para vistas en Google Earth.
+ReportKML.getFilePath.text=ReportKML.kml:
+ReportKML.genReport.srcModuleName.text=Datos geoespaciales
+ReportKML.genReport.reportName=Informe KML
+ReportKML.latLongStartPoint={0};{1};;{2} (Inicio)\n
+ReportKML.latLongEndPoint={0};{1};;{2} (Fin)\n
+Route_Details_Header=Ruta GPS
+Waypoint_Area_Point_Display_String=Punto de contorno de \u00e1rea GPS
+Waypoint_Bookmark_Display_String=Marcador GPS
+Waypoint_EXIF_Display_String=Metadatos EXIF con ubicaci\u00f3n
+Waypoint_Last_Known_Display_String=\u00daltima ubicaci\u00f3n conocida de GPS
+Waypoint_Route_Point_Display_String=Punto individual de ruta GPS
+Waypoint_Search_Display_String=B\u00fasqueda GPS
+Waypoint_Track_Display_String=Rastreo GPS
+Waypoint_Track_Point_Display_String=Punto individual de rastreo GPS
+Waypoint_Trackpoint_Display_String=Punto de seguimiento GPS
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/portable/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/portable/Bundle_ar.properties
deleted file mode 100644
index f6561c7269b..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/portable/Bundle_ar.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-PortableCaseReportModule.compressCase.canceled=Compresion cancelada por el usuario
-PortableCaseReportModule.compressCase.errorCompressingCase=Error al comprimir el caso
-# {0} - Ruta de la carpeta temporal
-PortableCaseReportModule.compressCase.errorCreatingTempFolder=No se pudo crear la carpeta temporal {0}
-PortableCaseReportModule.compressCase.errorFinding7zip=No se pudo encontrar el ejecutable de 7-Zip
-# {0} - Nombre del archivo
-PortableCaseReportModule.copyContentToPortableCase.copyingFile=Copiando archivo {0}
-# {0} - Carpeta del caso
-PortableCaseReportModule.createCase.caseDirExists=La carpeta del caso {0} ya existe
-PortableCaseReportModule.createCase.errorCreatingCase=Error al crear el caso
-# {0} - Carpeta
-PortableCaseReportModule.createCase.errorCreatingFolder=Error al crear la carpeta {0}
-PortableCaseReportModule.createCase.errorStoringMaxIds=Error al almacenar los ID de la base de datos maximos
-PortableCaseReportModule.generateCaseUcoReport.errorCreatingReportFolder=No se pudo crear la carpeta del informe
-PortableCaseReportModule.generateCaseUcoReport.errorGeneratingCaseUcoReport=Problema al generar el informe CASE-UCO
-PortableCaseReportModule.generateCaseUcoReport.startCaseUcoReportGeneration=Creando un informe CASE-UCO del caso portatil
-PortableCaseReportModule.generateCaseUcoReport.successCaseUcoReportGeneration=Informe CASE-UCO del caso portatil creado con exito
-PortableCaseReportModule.generateReport.caseClosed=El caso actual ha sido cerrado
-PortableCaseReportModule.generateReport.compressingCase=Comprimiendo el caso...
-# {0} - Nombre de la etiqueta
-PortableCaseReportModule.generateReport.copyingArtifacts=Copiando artefactos etiquetados como {0}...
-# {0} - Nombre de la etiqueta
-PortableCaseReportModule.generateReport.copyingFiles=Copiando archivos etiquetados como {0}...
-PortableCaseReportModule.generateReport.copyingTags=Copiando etiquetas...
-PortableCaseReportModule.generateReport.creatingCase=Creando la base de datos del caso portatil...
-PortableCaseReportModule.generateReport.errorCopyingArtifacts=Error al copiar los artefactos etiquetados
-PortableCaseReportModule.generateReport.errorCopyingAutopsy=Error al copiar la aplicacion
-PortableCaseReportModule.generateReport.errorCopyingFiles=Error al copiar los archivos etiquetados
-PortableCaseReportModule.generateReport.errorCopyingInterestingFiles=Error al copiar archivos interesantes
-PortableCaseReportModule.generateReport.errorCopyingInterestingResults=Error al copiar los resultados interesantes
-PortableCaseReportModule.generateReport.errorCopyingTags=Error al copiar las etiquetas
-PortableCaseReportModule.generateReport.errorCreatingImageTagTable=Error al crear la tabla de etiquetas de imagenes
-# {0} - Nombre del tipo de atributo
-PortableCaseReportModule.generateReport.errorLookingUpAttrType=Error al buscar el tipo de atributo {0}
-PortableCaseReportModule.generateReport.errorReadingSets=Error al leer los conjuntos de elementos interesantes de la base de datos del caso
-PortableCaseReportModule.generateReport.errorReadingTags=Error al leer las etiquetas de la base de datos del caso
-PortableCaseReportModule.generateReport.interestingItemError=Error al cargar elementos interesantes
-PortableCaseReportModule.generateReport.noContentToCopy=No hay archivos interesantes, resultados o elementos etiquetados para copiar
-# {0} - Carpeta de salida
-PortableCaseReportModule.generateReport.outputDirDoesNotExist=La carpeta de salida {0} no existe
-# {0} - Carpeta de salida
-PortableCaseReportModule.generateReport.outputDirIsNotDir=La carpeta de salida {0} no es una carpeta valida
-PortableCaseReportModule.generateReport.verifying=Verificando los parametros seleccionados...
-PortableCaseReportModule.getDescription.description=Copia los elementos seleccionados a un nuevo caso de un solo usuario que se puede compartir facilmente
-PortableCaseReportModule.getName.name=Caso portatil
-PortableCaseReportModule_generateReport_copyingAutopsy=Copiando aplicacion...
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle_ar.properties
deleted file mode 100644
index b4b1f4564e8..00000000000
--- a/Core/src/org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle_ar.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-AddTaggedHashesToHashDb.error.noHashSetsSelected=No se ha seleccionado ningun conjunto de hash para la exportacion.
-AddTaggedHashesToHashDb.error.noTagsSelected=No se han seleccionado etiquetas para la exportacion.
-AddTaggedHashesToHashDb.error.unableToOpenCase=Excepcion al obtener el caso abierto.
-HashDbConfigDialog.okButton.text=OK
-HashDbConfigDialog.cancelButton.text=Cancelar
-SaveTaggedHashesToHashDbConfigPanel.deselectAllButton.text=Deseleccionar Todo
-SaveTaggedHashesToHashDbConfigPanel.selectAllButton.text=Seleccionar Todo
-SaveTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text=Todos los resultados etiquetados
-SaveTaggedHashesToHashDbConfigPanel.jLabel2.text=Exportar al conjunto de hash:
-SaveTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text=Configurar Conjuntos de Hash...
-SaveTaggedHashesToHashDbConfigPanel.jLabel1.text=Exportar hash de archivos etiquetados como:
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle_es.properties
new file mode 100644
index 00000000000..4f22578dcb6
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/report/modules/taggedhashes/Bundle_es.properties
@@ -0,0 +1,18 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AddTaggedHashesToHashDb.error.noHashSetsSelected=No se seleccion\u00f3 ning\u00fan conjunto de hash para exportar.
+AddTaggedHashesToHashDb.error.noTagsSelected=No se seleccion\u00f3 ninguna etiqueta para exportar.
+AddTaggedHashesToHashDb.error.unableToOpenCase=Excepci\u00f3n al obtener el caso abierto.
+HashDbConfigDialog.okButton.text=OK
+HashDbConfigDialog.cancelButton.text=Cancelar
+SaveTaggedHashesToHashDbConfigPanel.deselectAllButton.text=Deseleccionar todo
+SaveTaggedHashesToHashDbConfigPanel.selectAllButton.text=Seleccionar todo
+SaveTaggedHashesToHashDbConfigPanel.jAllTagsCheckBox.text=Todos los resultados etiquetados
+SaveTaggedHashesToHashDbConfigPanel.jLabel2.text=Exportar a conjunto de hash:
+SaveTaggedHashesToHashDbConfigPanel.configureHashDatabasesButton.text=Configurar conjuntos de hash...
+SaveTaggedHashesToHashDbConfigPanel.jLabel1.text=Exportar hashes de archivos etiquetados como:
diff --git a/Core/src/org/sleuthkit/autopsy/test/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/test/Bundle_ar.properties
deleted file mode 100644
index 09a8ccdf27e..00000000000
--- a/Core/src/org/sleuthkit/autopsy/test/Bundle_ar.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-CustomArtifactsCreatorDataSourceIngestModule.exceptionMessage.errorCreatingCustomType=Error al crear un tipo de artefacto personalizado.
-CustomArtifactsCreatorFileIngestModule.exceptionMessage.errorCreatingCustomType=Error al crear un tipo de artefacto personalizado.
-InterestingArtifactCreatorIngestModule.exceptionMessage.errorCreatingCustomType=Error al crear un tipo de artefacto personalizado.
diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_ar.properties
deleted file mode 100644
index 4a194aa3f3c..00000000000
--- a/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_ar.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-AbstractFileTikaTextExtract.index.tikaParseTimeout.text=Excepcion: Tiempo de espera de analisis de Tika para el contenido: {0}, {1}
-AbstractFileTikaTextExtract.index.exception.tikaParse.msg=Excepcion: Excepcion inesperada en la ejecucion de la tarea de analisis de Tika para el archivo: {0}, {1}
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_es.properties
new file mode 100644
index 00000000000..a215d082acc
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/textextractors/Bundle_es.properties
@@ -0,0 +1,323 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+OpenIDE-Module-Display-Category=M\u00F3dulo de Ingesta
+
+OpenIDE-Module-Long-Description=M\u00F3dulo de ingesta de b\u00FAsqueda por palabras clave.\n\nEl m\u00F3dulo indexa los archivos encontrados en la imagen de disco en el momento de la ingesta.\nLuego ejecuta peri\u00F3dicamente la b\u00FAsqueda en los archivos indexados usando una o m\u00E1s listas de palabras clave (que contienen palabras puras y/o expresiones regulares) y publica los resultados.\n\n\El m\u00F3dulo tambi\u00E9n contiene herramientas adicionales integradas en la interfaz principal, como la configuraci\u00F3n de listas de palabras clave, barra de b\u00FAsqueda de palabras clave en la esquina superior derecha, visor de texto extra\u00EDdo y visor de resultados de b\u00FAsqueda mostrando las palabras clave encontradas destacadas.
+OpenIDE-Module-Name=B\u00FAsquedaDePalabrasClave
+OptionsCategory_Name_KeywordSearchOptions=B\u00FAsqueda de Palabras Clave
+OptionsCategory_Keywords_KeywordSearchOptions=B\u00FAsqueda de Palabras Clave
+ListBundleName=Listas de Palabras Clave
+ListBundleConfig=Configuraci\u00F3n de Lista de Palabras Clave
+ExtractedContentPanel.copyMenuItem.text=Copiar
+ExtractedContentPanel.selectAllMenuItem.text=Seleccionar Todo
+KeywordSearchEditListPanel.saveListButton.text=Copiar Lista
+KeywordSearchEditListPanel.addWordField.text=
+KeywordSearchEditListPanel.addWordButton.text=Nueva Palabra Clave
+KeywordSearchEditListPanel.chRegex.text=Expresi\u00F3n Regular
+KeywordSearchEditListPanel.deleteWordButton.text=Eliminar Palabras Clave
+KeywordSearchEditListPanel.cutMenuItem.text=Cortar
+KeywordSearchEditListPanel.selectAllMenuItem.text=Seleccionar Todo
+KeywordSearchEditListPanel.pasteMenuItem.text=Pegar
+KeywordSearchEditListPanel.copyMenuItem.text=Copiar
+KeywordSearchEditListPanel.exportButton.text=Exportar Lista
+KeywordSearchEditListPanel.deleteListButton.text=Eliminar Lista
+KeywordSearchEditListPanel.emptyKeyword.text=Palabra clave vac\u00EDa
+KeywordSearchEditListPanel.errorAddingKeywords.text=Error al agregar palabra(s) clave
+KeywordSearchListsManagementPanel.newListButton.text=Nueva Lista
+KeywordSearchListsManagementPanel.importButton.text=Importar Lista
+KeywordSearchListsViewerPanel.searchAddButton.text=B\u00FAsqueda
+KeywordSearchListsViewerPanel.manageListsButton.text=Gestionar Listas
+KeywordSearchListsViewerPanel.ingestIndexLabel.text=Archivos Indexados:
+KeywordSearchEditListPanel.ingestMessagesCheckbox.text=Enviar mensajes de entrada durante la ingesta para cada coincidencia
+KeywordSearchEditListPanel.ingestMessagesCheckbox.toolTipText=Enviar mensajes durante la ingesta cuando se encuentren coincidencias con palabras clave de esta lista
+KeywordSearchEditListPanel.keywordOptionsLabel.text=Opciones de Palabras Clave
+KeywordSearchEditListPanel.listOptionsLabel.text=Opciones de Lista
+KeywordSearchListsManagementPanel.keywordListsLabel.text=Listas de Palabras Clave:
+KeywordSearchEditListPanel.keywordsLabel.text=Palabras Clave:
+OpenIDE-Module-Short-Description=M\u00F3dulo de ingesta de b\u00FAsqueda de palabras clave, visor de texto extra\u00EDdo y herramientas de b\u00FAsqueda por palabras clave
+KeywordSearchListsViewerPanel.manageListsButton.toolTipText=Gestiona las listas de palabras clave, sus configuraciones y las palabras clave asociadas. Las configuraciones se comparten entre todos los casos.
+AbstractKeywordSearchPerformer.search.dialogErrorHeader=Error en la B\u00FAsqueda de Palabras Clave
+AbstractKeywordSearchPerformer.search.invalidSyntaxHeader=Consulta inv\u00E1lida. Si se trata de una expresi\u00F3n regular, solo se admiten patrones de expresiones regulares Lucene. No se admiten clases de caracteres POSIX (como \\n o \\w).
+AbstractKeywordSearchPerformer.search.searchIngestInProgressTitle=B\u00FAsqueda de Palabras Clave en Ingesta en Progreso
+AbstractKeywordSearchPerformer.search.ingestInProgressBody=La ingesta de b\u00FAsqueda de palabras clave est\u00E1 en curso.
No todos los archivos han sido indexados y esta b\u00FAsqueda podr\u00EDa arrojar resultados incompletos.
¿Quieres continuar con esta b\u00FAsqueda de todos modos?
+AbstractKeywordSearchPerformer.search.emptyKeywordErrorBody=La lista de palabras clave est\u00E1 vac\u00EDa, por favor agrega al menos una palabra clave a la lista
+AbstractKeywordSearchPerformer.search.noFilesInIdxMsg=No hay archivos en el \u00EDndice todav\u00EDa.
Si se habilit\u00F3 la indexaci\u00F3n de b\u00FAsqueda de palabras clave Solr, espera a que la ingesta termine
+AbstractKeywordSearchPerformer.search.noFilesIdxdMsg=No se indexaron archivos.
Re-ingesta la imagen con el M\u00F3dulo de B\u00FAsqueda de Palabras Clave y la indexaci\u00F3n de Solr habilitada.
+ExtractedContentViewer.toolTip=Muestra texto extra\u00EDdo de archivos y resultados de b\u00FAsqueda de palabras clave. Requiere que se ejecute la ingesta de b\u00FAsqueda de palabras clave en un archivo para activar este visor.
+ExtractedContentViewer.getTitle=Texto Extra\u00EDdo
+HighlightedMatchesSource.toString=Resultados de la B\u00FAsqueda
+Installer.reportPortError=El puerto del servidor de indexaci\u00F3n {0} no est\u00E1 disponible. Revisa si tu software de seguridad no bloquea {1} y considera cambiar {2} en el archivo de propiedades {3} en la carpeta del usuario de la aplicaci\u00F3n. Luego, intenta reiniciar el sistema si otro proceso estaba causando el conflicto.
+Installer.reportStopPortError=El puerto de detenci\u00F3n del servidor de indexaci\u00F3n {0} no est\u00E1 disponible. Considera cambiar {1} en el archivo de propiedades {2} en la carpeta del usuario de la aplicaci\u00F3n.
+Installer.errorInitKsmMsg=Error al inicializar el m\u00F3dulo de B\u00FAsqueda de Palabras Clave
+Installer.reportInitError=El puerto del servidor de indexaci\u00F3n {0} no est\u00E1 disponible. Revisa si tu software de seguridad no bloquea {1} y considera cambiar {2} en el archivo de propiedades {3} en la carpeta del usuario de la aplicaci\u00F3n. Luego, intenta reiniciar el sistema si otro proceso estaba causando el conflicto.
+KeywordSearchConfigurationPanel.customizeComponents.listTabTitle=Listas
+KeywordSearchConfigurationPanel.customizeComponents.stringExtTitle=Extracci\u00F3n de Cadenas
+KeywordSearchConfigurationPanel.customizeComponents.genTabTitle=General
+KeywordSearchConfigurationPanel.customizeComponents.listLabToolTip=Configuraci\u00F3n de lista
+KeywordSearchConfigurationPanel.customizeComponents.stringExtToolTip=Configuraci\u00F3n de extracci\u00F3n de cadenas para la ingesta de B\u00FAsqueda de Palabras Clave
+KeywordSearchConfigurationPanel.customizeComponents.genTabToolTip=Configuraci\u00F3n general
+KeywordSearchConfigurationPanel1.customizeComponents.title=Eliminar una Lista de Palabras Clave
+KeywordSearchConfigurationPanel1.customizeComponents.body=Esto eliminar\u00E1 la lista de palabras clave globalmente (para todos los Casos). ¿Quieres proceder con la eliminaci\u00F3n?
+KeywordSearchConfigurationPanel1.customizeComponents.keywordListEmptyErr=La Lista de Palabras Clave est\u00E1 vac\u00EDa y no puede ser guardada
+KeywordSearch.newKwListTitle=Nuevo nombre de lista de palabras clave:
+KeywordSearch.openCore.notification.msg=No se pudo abrir el \u00EDndice de b\u00FAsqueda de palabras clave
+KeywordSearch.closeCore.notification.msg=Error al cerrar el \u00EDndice de b\u00FAsqueda de palabras clave
+KeywordSearchConfigurationPanel1.customizeComponents.noOwDefaultMsg=No se puede sobrescribir la lista predeterminada
+KeywordSearchConfigurationPanel1.customizeComponents.kwListExistMsg=La Lista de Palabras Clave <{0}> ya existe, ¿quieres reemplazarla?
+KeywordSearchConfigurationPanel1.customizeComponents.kwListSavedMsg=Lista de Palabras Clave <{0}> guardada
+KeywordSearchEditListPanel.customizeComponents.kwReToolTip=La palabra clave es una expresi\u00F3n regular
+KeywordSearchEditListPanel.customizeComponents.addWordToolTip=Agregar nuevas palabras a la lista de b\u00FAsqueda de palabras clave
+KeywordSearchEditListPanel.customizeComponents.enterNewWordToolTip=Ingresa una nueva palabra o expresi\u00F3n regular para buscar
+KeywordSearchEditListPanel.customizeComponents.exportToFile=Exportar la lista actual de palabras clave a un archivo
+KeywordSearchEditListPanel.customizeComponents.saveCurrentWIthNewNameToolTip=Guardar la lista actual de palabras clave con un nuevo nombre
+KeywordSearchEditListPanel.customizeComponents.removeSelectedMsg=Eliminar palabra(s) clave seleccionada(s) de la lista
+KeywordSearchEditListPanel.newKwTitle=Nueva Entrada de Palabra Clave
+KeywordSearchEditListPanel.addWordButtonAction.kwAlreadyExistsMsg=La palabra clave ya existe en la lista.
+KeywordSearchEditListPanel.invalidKwMsg=Patr\u00F3n de palabra clave inv\u00E1lido. Usa palabras o un patrón de expresi\u00F3n regular correcto.
+KeywordSearchEditListPanel.removeKwMsg=Eliminando una palabra clave
+KeywordSearchEditListPanel.deleteWordButtonActionPerformed.delConfirmMsg=Esto eliminar\u00E1 una palabra clave de la lista globalmente (para todos los Casos). ¿Quieres proceder?
+KeywordSearchEditListPanel.exportButtonActionPerformed.fileFilterLabel=Archivos XML de Lista de Palabras Clave
+KeywordSearchEditListPanel.exportButtonActionPerformed.fileExistPrompt=El archivo {0} ya existe, ¿sobrescribir?
+KeywordSearchEditListPanel.exportButtonActionPerformed.kwListExportedMsg=Listas de palabras clave exportadas
+KeywordSearchEditListPanel.kwColName=Palabra Clave
+KeywordSearchEditListPanel.addKeyword.message=Agregar una nueva palabra a la lista de b\u00FAsqueda de palabras clave:
+KeywordSearchEditListPanel.addKeyword.title=Nueva Palabra Clave
+KeywordSearchFilterNode.getFileActions.openExternViewActLbl=Abrir en Visor Externo Ctrl+E
+KeywordSearchFilterNode.getFileActions.searchSameMd5=Buscar archivos con el mismo hash MD5
+KeywordSearchFilterNode.getFileActions.viewInNewWinActionLbl=Ver en Nueva Ventana
+KeywordSearchIngestModule.init.noKwInLstMsg=No hay palabras clave en la lista de palabras clave.
+KeywordSearchIngestModule.init.onlyIdxKwSkipMsg=S\u00F3lo se realizar\u00E1 la indexaci\u00F3n y se omitir\u00E1 la b\u00FAsqueda de palabras clave (a\u00FAn puedes agregar listas de palabras clave usando Listas de Palabras Clave - Agregar a la Ingesta).
+KeywordSearchIngestModule.init.SolrIndexingDisabled=La indexaci\u00F3n de Solr est\u00E1 deshabilitada.
+KeywordSearchIngestModule.init.indexingDisabled=La indexaci\u00F3n de texto est\u00E1 deshabilitada. Consulta la secci\u00F3n del manual del usuario "Limitaciones de la B\u00FAsqueda de Palabras Clave Ad Hoc" para m\u00E1s detalles.
+KeywordSearchIngestModule.doInBackGround.displayName=B\u00FAsqueda de Palabras Clave Peri\u00F3dica
+KeywordSearchIngestModule.doInBackGround.finalizeMsg=Finalizando
+KeywordSearchIngestModule.doInBackGround.pendingMsg=(Pendiente)
+SearchRunner.doInBackGround.cancelMsg=(Cancelando...)
+KeywordSearchIngestModule.postIndexSummary.knowFileHeaderLbl=Archivos con tipos conocidos
+KeywordSearchIngestModule.postIndexSummary.fileGenStringsHead=Archivos con cadenas generales extra\u00EDdas
+KeywordSearchIngestModule.postIndexSummary.mdOnlyLbl=S\u00F3lo se indexaron metadatos
+KeywordSearchIngestModule.postIndexSummary.idxErrLbl=Error (indexador)
+KeywordSearchIngestModule.postIndexSummary.errTxtLbl=Error (extracci\u00F3n de texto)
+KeywordSearchIngestModule.postIndexSummary.errIoLbl=Error (E/S)
+KeywordSearchIngestModule.postIndexSummary.kwIdxResultsLbl=Resultados de Indexaci\u00F3n de Palabras Clave
+KeywordSearchIngestModule.postIndexSummary.kwIdxErrsTitle=Errores de Indexaci\u00F3n de Palabras Clave
+KeywordSearchIngestModule.postIndexSummary.kwIdxErrMsgFiles=El servicio de \u00EDndice de palabras clave tuvo errores al ingerir {0} archivos.
+KeywordSearchIngestModule.postIndexSummary.kwIdxWarnMsgTitle=Advertencia de Indexaci\u00F3n de Palabras Clave
+KeywordSearchIngestModule.postIndexSummary.idxErrReadFilesMsg=El servicio de \u00EDndice de palabras clave tuvo errores al leer archivos y extraer texto. Podr\u00EDa ser debido a medios corruptos o archivos da\u00F1ados.
+KeywordSearchListsViewerPanel.initIngest.addIngestTitle=Agregar a la Ingesta
+KeywordSearchListsViewerPanel.initIngest.addIngestMsg=Puedes seleccionar listas adicionales de palabras clave
y agregarlas a la ingesta en curso.
Las listas seleccionadas se buscar\u00E1n la pr\u00F3xima vez que se reconstruya el \u00EDndice de archivos.
+KeywordSearchListsViewerPanel.initIngest.searchIngestTitle=B\u00FAsqueda
+KeywordSearchListsViewerPanel.initIngest.addIdxSearchMsg=Buscar archivos indexados para palabras clave en las listas seleccionadas
+KeywordSearchListsViewerPanel.initIngest.ongoingIngestMsg=Archivos Indexados: {0} (la ingesta est\u00E1 en curso)
+KeywordSearchListsViewerPanel.initIngest.fileIndexCtMsg=Archivos Indexados: {0}
+KeywordSearch.selectedColLbl=Seleccionado
+KeywordSearch.nameColLbl=Nombre
+KeywordSearch.typeColLbl=Tipo de Palabra Clave
+KeywordSearchQueryManager.execute.exeWinTitle=B\u00FAsqueda de Palabras Clave {0} - {1}
+KeywordSearch.newKeywordListMsg=Nueva Lista de Palabras Clave
+KeywordSearch.importListFileDialogMsg=Error al importar lista de palabras clave desde el archivo {0}
+KeywordSearch.yesOwMsg=S\u00ED, sobrescribir
+KeywordSearch.noSkipMsg=No, omitir
+KeywordSearch.cancelImportMsg=Cancelar importaci\u00F3n
+KeywordSearch.overwriteListPrompt=La lista de palabras clave <{0}> ya existe localmente, ¿sobrescribir?
+KeywordSearch.importOwConflict=Conflicto de importaci\u00F3n de lista
+KeywordSearch.kwListFailImportMsg=Lista de palabras clave no importada
+KeywordSearchListsManagementPanel.fileExtensionFilterLbl=Archivo de Lista de Palabras Clave Autopsy (xml)
+KeywordSearchListsManagementPanel.fileExtensionFilterLb2=Archivo de Lista de Palabras Clave Encase (txt)
+KeywordSearch.listImportFeatureTitle=Importaci\u00F3n de Lista de Palabras Clave
+KeywordSearchIngestModule.moduleName=B\u00FAsqueda de Palabras Clave
+KeywordSearchIngestModule.moduleDescription=Realiza indexaci\u00F3n de archivos y b\u00FAsqueda usando listas de palabras clave seleccionadas.
+DropdownSearchPanel.keywordTextField.text=
+KeywordSearchPanel.searchDropButton.text=B\u00FAsqueda de Palabras Clave
+DropdownSearchPanel.exactRadioButton.text=Coincidencia Exacta
+DropdownSearchPanel.substringRadioButton.text=Coincidencia por Subcadena
+DropdownSearchPanel.regexRadioButton.text=Expresi\u00F3n Regular
+DropdownSearchPanel.searchButton.text=B\u00FAscar
+DropdownSearchPanel.cutMenuItem.text=Cortar
+DropdownSearchPanel.selectAllMenuItem.text=Seleccionar Todo
+DropdownSearchPanel.pasteMenuItem.text=Pegar
+DropdownSearchPanel.copyMenuItem.text=Copiar
+AbstractFileStringContentStream.getSize.exception.msg=No se puede determinar cu\u00E1ntos caracteres tiene la cadena convertida, hasta que toda la cadena sea convertida
+AbstractFileStringContentStream.getSrcInfo.text=Archivo:{0}
+ByteContentStream.getSrcInfo.text=Archivo:{0}
+ExtractedContentViewer.nextPage.exception.msg=No hay pr\u00F3xima p\u00E1gina.
+ExtractedContentViewer.previousPage.exception.msg=No hay p\u00E1gina anterior.
+ExtractedContentViewer.hasNextItem.exception.msg=No es soportado, no es una fuente de b\u00FAsqueda.
+ExtractedContentViewer.hasPreviousItem.exception.msg=No es soportado, no es una fuente de b\u00FAsqueda.
+ExtractedContentViewer.nextItem.exception.msg=No es soportado, no es una fuente de b\u00FAsqueda.
+ExtractedContentViewer.previousItem.exception.msg=No es soportado, no es una fuente de b\u00FAsqueda.
+ExtractedContentViewer.currentItem.exception.msg=No es soportado, no es una fuente de b\u00FAsqueda.
+Ingester.ingest.exception.unknownImgId.msg=Saltando la indexaci\u00F3n del archivo, id de imagen desconocido, para el archivo: {0}
+Ingester.ingest.exception.cantReadStream.msg=No se pudo leer el flujo de contenido: {0}
+Ingester.ingest.exception.err.msg=Error al ingerir el documento: {0}
+Ingester.ingestExtract.exception.solrTimeout.msg=Tiempo de espera agotado para solicitud de \u00EDndice Solr para id: {0}, nombre: {1}
+Ingester.ingestExtract.exception.probPostToSolr.msg=Problema al publicar contenido en Solr, id: {0}, nombre: {1}
+Ingester.UpReqestTask.run.exception.sorlNotAvail.msg=No hay núcleo Solr disponible, no se puede indexar el contenido
+Ingester.UpRequestTask.run.exception.probReadFile.msg=Problema al leer el archivo.
+Ingester.UpRequestTask.run.exception.solrProb.msg=Problema con Solr
+Ingester.UpRequestTask.run.exception.probPostToSolr.msg=Problema al publicar contenidos de archivos en Solr. Código de error SolrException: {0}
+Ingester.FscContentStream.getSrcInfo=Archivo:{0}
+Ingester.FscContentStream.getReader=No soportado aún.
+Ingester.NullContentStream.getSrcInfo.text=Archivo:{0}
+Ingester.NullContentStream.getReader=No soportado aún.
+KeywordSearch.moduleErr=Error de M\u00F3dulo
+KeywordSearch.fireNumIdxFileChg.moduleErr.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearch. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchListsEncase.save.exception.msg=No soportado aún.
+KeywordSearchListsEncase.save2.exception.msg=No soportado aún.
+KeywordSearchListsEncase.encaseMetaType.exception.msg=EncaseMetaType no soportado: {0}
+KeywordSearchListsManagementPanel.getColName.text=Nombre
+KeywordSearchListsManagementPanel.setValueAt.exception.msg=No se soporta la edici\u00F3n de celdas
+KeywordSearchOptionsPanelController.moduleErr=Error de M\u00F3dulo
+KeywordSearchOptionsPanelController.moduleErr.msg1=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchOptionsPanelController. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchOptionsPanelController.moduleErr.msg2=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchOptionsPanelController. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchQueryManager.pathText.text=B\u00FAsqueda de Palabras Clave
+KeywordSearchResultFactory.progress.saving=Guardando resultados: {0}
+KeywordSearchSettings.moduleName.text=B\u00FAsquedaDePalabrasClave
+KeywordSearchSettings.properties_options.text={0}_Opciones
+KeywordSearchSettings.propertiesNSRL.text={0}_NSRL
+KeywordSearchSettings.propertiesScripts.text={0}_Scripts
+NoOpenCoreException.err.noOpenSorlCore.msg=No hay un núcleo Solr abierto actualmente.
+Server.start.exception.cantStartSolr.msg=No se pudo iniciar el proceso del servidor Solr
+Server.start.exception.cantStartSolr.msg2=No se pudo iniciar el proceso del servidor Solr
+Server.isRunning.exception.errCheckSolrRunning.msg=Error al verificar si el servidor Solr est\u00E1 en funcionamiento
+Server.isRunning.exception.errCheckSolrRunning.msg2=Error al verificar si el servidor Solr est\u00E1 en funcionamiento
+Server.openCore.exception.alreadyOpen.msg=Ya existe un núcleo Solr abierto. Cierra el núcleo primero.
+Server.queryNumIdxFiles.exception.msg=Error al consultar el n\u00FAmero de archivos indexados,
+Server.queryNumIdxChunks.exception.msg=Error al consultar el n\u00FAmero de fragmentos indexados,
+Server.queryNumIdxDocs.exception.msg=Error al consultar el n\u00FAmero de documentos indexados,
+Server.queryIsIdxd.exception.msg=Error al verificar si el contenido est\u00E1 indexado,
+Server.queryNumFileChunks.exception.msg=Error al obtener el n\u00FAmero de fragmentos de archivo,
+Server.query.exception.msg=Error al ejecutar la consulta: {0}
+Server.query2.exception.msg=Error al ejecutar la consulta: {0}
+Server.queryTerms.exception.msg=Error al ejecutar la consulta de t\u00E9rminos: {0}
+Server.connect.exception.msg=No se pudo conectar al servidor Solr: {0}
+Server.openCore.exception.msg=El servicio local de b\u00FAsqueda de palabras clave no est\u00E1 en funcionamiento
+Server.openCore.exception.cantOpen.msg=No se pudo crear o abrir el \u00EDndice
+Server.openCore.exception.noIndexDir.msg=No se pudo crear el directorio de \u00EDndice o est\u00E1 ausente
+Server.request.exception.exception.msg=No se pudo emitir la solicitud Solr
+Server.commit.exception.msg=No se pudo hacer commit al \u00EDndice
+Server.addDoc.exception.msg=No se pudo agregar el documento al \u00EDndice mediante el controlador de actualizaciones: {0}
+Server.addDoc.exception.msg2=No se pudo agregar el documento al \u00EDndice mediante el controlador de actualizaciones: {0}
+Server.addDocBatch.exception.msg=No se pudieron agregar los documentos por lotes al \u00EDndice
+Server.close.exception.msg=No se puede cerrar el núcleo
+Server.connect.exception.msg=No se pudo conectar al servidor Solr {0}
+Server.serverList.exception.msg=No se pudo obtener la lista de servidores Solr desde el servidor {0}
+Server.connectionInfoMissing.exception.msg=La versi\u00F3n {0} de Solr no tiene configuraci\u00F3n multiusuario
+Server.solrServerNoPortException.msg=El servidor de indexaci\u00F3n no pudo enlazar el puerto {0}, el puerto no est\u00E1 disponible, considera cambiar el puerto predeterminado {1}.
+KeywordSearchJobSettingsPanel.keywordSearchEncodings.text=-
+KeywordSearchJobSettingsPanel.languagesValLabel.toolTipText=
+KeywordSearchJobSettingsPanel.languagesValLabel.text=-
+KeywordSearchJobSettingsPanel.encodingsLabel.text=Codificaciones:
+KeywordSearchJobSettingsPanel.titleLabel.text=Selecciona las listas de palabras clave para habilitar durante la ingesta:
+KeywordSearchJobSettingsPanel.languagesLabel.toolTipText=Scripts habilitados para extracci\u00F3n de cadenas desde tipos de archivos desconocidos. Los cambios se pueden realizar en Configuraci\u00F3n Avanzada.
+KeywordSearchJobSettingsPanel.languagesLabel.text=Scripts habilitados para extracci\u00F3n de cadenas desde tipos de archivos desconocidos:
+KeywordSearchGlobalLanguageSettingsPanel.enableUTF8Checkbox.text=Habilitar extracci\u00F3n de texto en UTF8
+KeywordSearchGlobalLanguageSettingsPanel.ingestSettingsLabel.text=Configuraciones de ingesta para extracci\u00F3n de cadenas desde tipos de archivos desconocidos (los cambios ser\u00E1n efectivos en la pr\u00F3xima ingesta):
+KeywordSearchGlobalLanguageSettingsPanel.enableUTF16Checkbox.text=Habilitar extracci\u00F3n de cadenas UTF16LE y UTF16BE
+KeywordSearchGlobalLanguageSettingsPanel.languagesLabel.text=Scripts habilitados (idiomas):
+KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.toolTipText=Requiere que el servicio Hash Set haya sido ejecutado previamente, o se haya seleccionado para la siguiente ingesta.
+KeywordSearchGlobalSearchSettingsPanel.skipNSRLCheckBox.text=No agregar archivos en NSRL (archivos conocidos) al \u00EDndice de palabras clave durante la ingesta
+KeywordSearchGlobalSearchSettingsPanel.informationLabel.text=Informaci\u00F3n
+KeywordSearchGlobalSearchSettingsPanel.settingsLabel.text=Configuraciones
+KeywordSearchGlobalSearchSettingsPanel.filesIndexedValue.text=0
+KeywordSearchGlobalSearchSettingsPanel.filesIndexedLabel.text=Archivos en el \u00EDndice de palabras clave:
+KeywordSearchGlobalSearchSettingsPanel.showSnippetsCB.text=Mostrar Vista Previa de Palabra Clave en los Resultados de B\u00FAsqueda de Palabras Clave (esto aumentar\u00E1 el tiempo de b\u00FAsqueda)
+KeywordSearchGlobalSearchSettingsPanel.chunksValLabel.text=0
+KeywordSearchGlobalSearchSettingsPanel.chunksLabel.text=Fragmentos en el \u00EDndice de palabras clave:
+KeywordSearchIngestModule.regExpHitLbl=Coincidencia de Expresi\u00F3n Regular:
+KeywordSearchIngestModule.kwHitLbl=Coincidencia de Palabra Clave:
+KeywordSearchIngestModule.kwHitThLbl=Palabra Clave
+KeywordSearchIngestModule.previewThLbl=Previsualizaci\u00F3n
+KeywordSearchIngestModule.fileThLbl=Archivo
+KeywordSearchIngestModule.listThLbl=Lista
+KeywordSearchIngestModule.regExThLbl=Expresi\u00F3n Regular
+AbstractFileTikaTextExtract.index.tikaParseTimeout.text=Excepci\u00F3n: Tiempo de espera agotado en Tika para contenido: {0}, {1}
+AbstractFileTikaTextExtract.index.exception.tikaParse.msg=Excepci\u00F3n: Excepci\u00F3n inesperada de la tarea de parseo de Tika para el archivo: {0}, {1}
+KeywordSearchEditListPanel.exportButtonAction.featureName.text=Exportar Lista de Palabras Clave
+KeywordSearchGlobalListSettingsPanel.component.featureName.text=Guardar Lista de Palabras Clave
+KeywordSearchListsAbstract.moduleErr=Error de M\u00F3dulo
+KeywordSearchListsAbstract.addList.errMsg1.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchListsAbstract. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchListsAbstract.addList.errMsg2.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchListsAbstract. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+SearchRunner.updateTimer.title.text=Temporizador de Actualizaci\u00F3n de SearchRunner
+KeywordSearchListsAbstract.saveList.errMsg1.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchListsAbstract. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchListsAbstract.saveList.errMsg2.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchListsAbstract. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchListsAbstract.writeLists.errMsg1.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchListsAbstract. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchListsAbstract.writeLists.errMsg2.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchListsAbstract. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchListsAbstract.deleteList.errMsg1.msg=Un m\u00F3dulo caus\u00F3 un error escuchando las actualizaciones de KeywordSearchListsAbstract. Consulta el log para determinar cu\u00E1l m\u00F3dulo. Algunos datos podr\u00EDan estar incompletos.
+KeywordSearchListsManagementPanel.newKeywordListDescription=La lista de palabras clave <{0}> ya existe como una lista de solo lectura. ¿Quieres reemplazarla durante la ejecuci\u00F3n del programa (el cambio no ser\u00E1 persistente)?
+KeywordSearchListsManagementPanel.newKeywordListDescription2=La lista de palabras clave <{0}> ya existe, ¿quieres reemplazarla?
+KeywordSearchModuleFactory.getIngestJobSettingsPanel.exception.msg=Se esperaba que el argumento de configuraci\u00F3n fuera una instancia de KeywordSearchJobSettings
+KeywordSearchModuleFactory.createFileIngestModule.exception.msg=Se esperaba que el argumento de configuraci\u00F3n fuera una instancia de KeywordSearchJobSettings
+SearchRunner.Searcher.done.err.msg=Error al realizar la b\u00FAsqueda de palabras clave
+SolrConnectionCheck.HostnameOrPort=Nombre de host y/o n\u00FAmero de puerto inv\u00E1lidos.
+SolrConnectionCheck.Hostname=Nombre de host inv\u00E1lido.
+SolrConnectionCheck.MissingHostname=Falta el nombre de host.
+GlobalListsManagementPanel.newListButton.text=Nueva Lista
+GlobalListsManagementPanel.importButton.text=Importar Lista
+GlobalListsManagementPanel.keywordListsLabel.text=Listas de Palabras Clave:
+NewKeywordPanel.regexButton.text=Expresi\u00F3n Regular
+NewKeywordPanel.exactButton.text=Coincidencia Exacta
+NewKeywordPanel.substringButton.text=Coincidencia por Subcadena
+NewKeywordPanel.keywordTextField.text=
+NewKeywordPanel.newKeywordLabel.text=Ingresa una nueva palabra clave:
+AddKeywordsDialog.exactRadioButton.text=Coincidencia Exacta
+AddKeywordsDialog.substringRadioButton.text=Coincidencia por Subcadena
+AddKeywordsDialog.regexRadioButton.text=Expresi\u00F3n Regular
+AddKeywordsDialog.keywordTypeLabel.text=Selecciona el tipo de palabras clave:
+AddKeywordsDialog.enterKeywordsLabel.text=Ingresa las palabras clave (una por l\u00EDnea) a continuaci\u00F3n:
+AddKeywordsDialog.pasteButton.text=Pegar Desde el Portapapeles
+AddKeywordsDialog.addButton.text=Aceptar
+AddKeywordsDialog.cancelButton.text=Cancelar
+AddKeywordsDialog.addKeywordsTitle.text=Nuevas Palabras Clave
+GlobalEditListPanel.newKeywordsButton.text=Nuevas Palabras Clave
+GlobalEditListPanel.addKeywordResults.text=Agregar Resultados de Palabra Clave
+GlobalEditListPanel.keywordsAdded.text={0} palabra clave fue agregada correctamente.
+GlobalEditListPanel.keywordsAddedPlural.text={0} palabras clave fueron agregadas correctamente.
+GlobalEditListPanel.keywordDupesSkipped.text={0} palabra clave ya estaba en la lista.
+GlobalEditListPanel.keywordDupesSkippedPlural.text={0} palabras clave ya estaban en la lista.
+GlobalEditListPanel.keywordErrors.text={0} palabra clave no pudo ser analizada. Por favor revisa e intenta nuevamente.
+GlobalEditListPanel.keywordErrorsPlural.text={0} palabras clave no pudieron ser analizadas. Por favor revisa e intenta nuevamente.
+GlobalListsManagementPanel.exportButton.text=Exportar Lista
+GlobalListsManagementPanel.deleteListButton.text=Eliminar Lista
+GlobalListsManagementPanel.copyListButton.text=Copiar Lista
+GlobalListsManagementPanel.renameListButton.text=Editar Nombre de Lista
+GlobalEditListPanel.editWordButton.text=Editar Palabra Clave
+SolrSearchService.ServiceName=Servicio de B\u00FAsqueda de Palabras Clave Solr
+SolrSearchService.DeleteDataSource.msg=Error al Eliminar Datos Solr para el id de origen de datos {0}
+DropdownSingleTermSearchPanel.dataSourceCheckBox.text=Restringir b\u00FAsqueda a las fuentes de datos seleccionadas:
+DropdownListSearchPanel.dataSourceCheckBox.text=Restringir b\u00FAsqueda a las fuentes de datos seleccionadas:
+DropdownSingleTermSearchPanel.ingestIndexLabel.text=Archivos Indexados:
+DropdownSingleTermSearchPanel.jSaveSearchResults.toolTipText=Guardar agregar\u00E1 los Resultados de Coincidencia de Palabra Clave al caso actual
+DropdownSingleTermSearchPanel.jSaveSearchResults.text=Guardar resultados de b\u00FAsqueda
+DropdownListSearchPanel.jSaveSearchResults.toolTipText=Guardar agregar\u00E1 los Resultados de Coincidencia de Palabra Clave al caso actual
+DropdownListSearchPanel.jSaveSearchResults.text=Guardar resultados de b\u00FAsqueda
+GlobalEditListPanel.ingestWarningLabel.text=La ingesta est\u00E1 en curso, algunas configuraciones estar\u00E1n no disponibles hasta que termine.
+KeywordSearchGlobalLanguageSettingsPanel.ingestWarningLabel.text=La ingesta est\u00E1 en curso, algunas configuraciones estar\u00E1n no disponibles hasta que termine.
+KeywordSearchGlobalSearchSettingsPanel.ingestWarningLabel.text=La ingesta est\u00E1 en curso, algunas configuraciones estar\u00E1n no disponibles hasta que termine.
+ExtractedContentPanel.AccessibleContext.accessibleName=
+ExtractedContentPanel.jLabel1.text=Fuente de Texto:
+ExtractedContentPanel.hitNextButton.text=
+ExtractedContentPanel.hitPreviousButton.text=
+ExtractedContentPanel.hitButtonsLabel.text=Coincidencia
+ExtractedContentPanel.hitTotalLabel.text=-
+ExtractedContentPanel.hitOfLabel.text=de
+ExtractedContentPanel.hitCountLabel.text=-
+ExtractedContentPanel.hitLabel.toolTipText=
+ExtractedContentPanel.hitLabel.text=Coincidencias en la p\u00E1gina:
+ExtractedContentPanel.pageNextButton.text=
+ExtractedContentPanel.pagePreviousButton.actionCommand=pagePreviousButton
+ExtractedContentPanel.pagePreviousButton.text=
+ExtractedContentPanel.pageButtonsLabel.text=P\u00E1gina
+ExtractedContentPanel.pageTotalLabel.text=-
+ExtractedContentPanel.pageOfLabel.text=de
+ExtractedContentPanel.pageCurLabel.text=-
+ExtractedContentPanel.pagesLabel.text=P\u00E1gina:
+KeywordSearchJobSettingsPanel.ocrCheckBox.text=Habilitar Reconocimiento Óptico de Caracteres (OCR)
+KeywordSearchJobSettingsPanel.limitedOcrCheckbox.text=Sólo procesar PDFs, documentos MS Office e imágenes que tengan más de 100KB de tamaño o que hayan sido extraídas de otro archivo (Beta)
+KeywordSearchJobSettingsPanel.ocrOnlyCheckbox.text=Sólo indexar texto extraído con OCR
+KeywordSearchJobSettingsPanel.solrCheckbox.text=Agregar texto al \u00EDndice Solr
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_ar.properties
deleted file mode 100644
index a054532cdf9..00000000000
--- a/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_ar.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-OptionsCategory_Name_Machine_Translation=Traduccion Automatica
-OptionsCategory_Keywords_Machine_Translation_Settings=Configuracion de Traduccion Automatica
-TranslationContentPanel.ocrLabel.text=OCR (Reconocimiento optico de Caracteres):
-TranslationOptionsPanel.noTextTranslators.text=No existen traductores de texto, la traduccion esta deshabilitada.
-TranslationOptionsPanel.noTextTranslatorSelected.text=No se ha seleccionado un traductor de texto, la traduccion esta deshabilitada.
-TranslationOptionsPanel.textTranslatorsUnavailable.text=No se pudo obtener el traductor de texto seleccionado, la traduccion esta deshabilitada.
-TranslationOptionsPanel.translationDisabled.text=Traduccion deshabilitada
-TranslationOptionsPanelController.moduleErr=Error del modulo
-TranslationOptionsPanelController.moduleErr.msg=Un modulo genero un error al escuchar actualizaciones de TranslationSettingsPanelController. Consulte el registro para determinar que modulo. Algunos datos podrian estar incompletos.
-TranslationContentPanel.showLabel.text=Mostrar:
-TranslationOptionsPanel.translationServiceLabel.text=Traductor de texto:
-TranslationOptionsPanel.translationOptionsDescription.text=Configura un servicio de traduccion de texto de terceros para habilitar la traduccion de texto y nombres de archivos.
-TranslationOptionsPanel.enableOcrCheckBox.text=Habilitar el Reconocimiento optico de Caracteres (OCR) en el visor de contenido de traduccion.
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_es.properties
new file mode 100644
index 00000000000..c37a22d8098
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/Bundle_es.properties
@@ -0,0 +1,20 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+OptionsCategory_Name_Machine_Translation=Traducci\u00f3n Autom\u00e1tica
+OptionsCategory_Keywords_Machine_Translation_Settings=Configuraci\u00f3n de Traducci\u00f3n Autom\u00e1tica
+TranslationContentPanel.ocrLabel.text=OCR:
+TranslationOptionsPanel.noTextTranslators.text=No existen traductores de texto, la traducci\u00f3n est\u00e1 deshabilitada.
+TranslationOptionsPanel.noTextTranslatorSelected.text=No se ha seleccionado un traductor de texto, la traducci\u00f3n est\u00e1 deshabilitada.
+TranslationOptionsPanel.textTranslatorsUnavailable.text=No se puede obtener el traductor de texto seleccionado, la traducci\u00f3n est\u00e1 deshabilitada.
+TranslationOptionsPanel.translationDisabled.text=Traducci\u00f3n deshabilitada
+TranslationOptionsPanelController.moduleErr=Error del M\u00f3dulo
+TranslationOptionsPanelController.moduleErr.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar las actualizaciones de TranslationSettingsPanelController. Consulte el registro para determinar qu\u00e9 m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+TranslationContentPanel.showLabel.text=Mostrar:
+TranslationOptionsPanel.translationServiceLabel.text=Traductor de texto:
+TranslationOptionsPanel.translationOptionsDescription.text=Configure un servicio de traducci\u00f3n de texto de terceros para habilitar la traducci\u00f3n de texto y nombres de archivo.
+TranslationOptionsPanel.enableOcrCheckBox.text=Habilitar el Reconocimiento \u00d3ptico de Caracteres (OCR) en el visor de contenido traducido
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_ar.properties
deleted file mode 100644
index 3f47d950179..00000000000
--- a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_ar.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-BingTranslator.name.text=Traductor Bing
-BingTranslatorSettingsPanel.warning.invalidKey=Clave de autenticacion de traduccion no valida
-BingTranslatorSettingsPanel.warning.targetLanguageFailure=No se pueden obtener la lista de idiomas de destino o analizar el resultado recibido
-GoogleTranslator.name.text=Traductor de Google
-GoogleTranslatorSettingsPanel.browseButton.text=Navegar
-GoogleTranslatorSettingsPanel.credentialsLabel.text=Ruta de credenciales:
-GoogleTranslatorSettingsPanel.errorMessage.fileNotFound=Archivo de credenciales no encontrado, por favor establece la ubicacion de un archivo de credenciales JSON valido.
-GoogleTranslatorSettingsPanel.errorMessage.noFileSelected=Se debe seleccionar un archivo JSON para proporcionar las credenciales de Google Translate.
-GoogleTranslatorSettingsPanel.errorMessage.translationFailure=Error de traduccion con las credenciales especificadas
-GoogleTranslatorSettingsPanel.errorMessage.unableToMakeCredentials=No se puede construir el objeto de credenciales a partir del archivo de credenciales, por favor establece la ubicacion de un archivo de credenciales JSON valido.
-GoogleTranslatorSettingsPanel.errorMessage.unableToReadCredentials=No se pueden leer las credenciales del archivo de credenciales, por favor establece la ubicacion de un archivo de credenciales JSON valido.
-GoogleTranslatorSettingsPanel.errorMessage.unknownFailureGetting=Fallo al obtener la lista de idiomas admitidos con el archivo de credenciales actual.
-GoogleTranslatorSettingsPanel.errorMessage.unknownFailurePopulating=Fallo al completar la lista de idiomas admitidos con el archivo de credenciales actual.
-GoogleTranslatorSettingsPanel.fileChooser.confirmButton=Seleccionar
-GoogleTranslatorSettingsPanel.json.description=Archivos JSON
-GoogleTranslatorSettingsPanel.warningLabel.text=
-GoogleTranslatorSettingsPanel.targetLanguageLabel.text=Idioma de destino:
-BingTranslatorSettingsPanel.testButton.text=Prueba
-BingTranslatorSettingsPanel.testResultValueLabel.text=
-BingTranslatorSettingsPanel.resultLabel.text=Resultado:
-BingTranslatorSettingsPanel.untranslatedLabel.text=No traducido:
-BingTranslatorSettingsPanel.targetLanguageLabel.text=Idioma de destino:
-BingTranslatorSettingsPanel.authenticationKeyField.toolTipText=Ingrese el hash para el
-GoogleTranslatorSettingsPanel.testButton.text=Prueba
-GoogleTranslatorSettingsPanel.untranslatedLabel.text=No traducido:
-GoogleTranslatorSettingsPanel.resultLabel.text=Resultado:
-GoogleTranslatorSettingsPanel.testResultValueLabel.text=
-BingTranslatorSettingsPanel.authenticationKeyLabel.text=Clave de autenticacion:
-GoogleTranslatorSettingsPanel.instructionsTextArea.text=
-BingTranslatorSettingsPanel.instructionsTextArea.text_1=
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_es.properties
new file mode 100644
index 00000000000..0eb0d8492f6
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/translators/Bundle_es.properties
@@ -0,0 +1,37 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+BingTranslator.name.text=Traductor Bing
+BingTranslatorSettingsPanel.warning.invalidKey=Clave de autenticaci\u00f3n de traducci\u00f3n inv\u00e1lida
+BingTranslatorSettingsPanel.warning.targetLanguageFailure=No se pudo obtener la lista de idiomas de destino o analizar el resultado recibido
+GoogleTranslator.name.text=Traductor de Google
+GoogleTranslatorSettingsPanel.browseButton.text=Examinar
+GoogleTranslatorSettingsPanel.credentialsLabel.text=Ruta de credenciales:
+GoogleTranslatorSettingsPanel.errorMessage.fileNotFound=Archivo de credenciales no encontrado, por favor establezca una ubicaci\u00f3n v\u00e1lida para un archivo de credenciales JSON.
+GoogleTranslatorSettingsPanel.errorMessage.noFileSelected=Se debe seleccionar un archivo JSON para proporcionar sus credenciales para Google Translate.
+GoogleTranslatorSettingsPanel.errorMessage.translationFailure=Fallo en la traducci\u00f3n con las credenciales especificadas
+GoogleTranslatorSettingsPanel.errorMessage.unableToMakeCredentials=No se pudo construir el objeto de credenciales a partir del archivo, por favor establezca una ubicaci\u00f3n v\u00e1lida para un archivo de credenciales JSON.
+GoogleTranslatorSettingsPanel.errorMessage.unableToReadCredentials=No se pudieron leer las credenciales del archivo, por favor establezca una ubicaci\u00f3n v\u00e1lida para un archivo de credenciales JSON.
+GoogleTranslatorSettingsPanel.errorMessage.unknownFailureGetting=Fallo al obtener la lista de idiomas soportados con el archivo de credenciales actual.
+GoogleTranslatorSettingsPanel.errorMessage.unknownFailurePopulating=Fallo al llenar la lista de idiomas soportados con el archivo de credenciales actual.
+GoogleTranslatorSettingsPanel.fileChooser.confirmButton=Seleccionar
+GoogleTranslatorSettingsPanel.json.description=Archivos JSON
+GoogleTranslatorSettingsPanel.warningLabel.text=
+GoogleTranslatorSettingsPanel.targetLanguageLabel.text=Idioma de destino:
+BingTranslatorSettingsPanel.testButton.text=Probar
+BingTranslatorSettingsPanel.testResultValueLabel.text=
+BingTranslatorSettingsPanel.resultLabel.text=Resultado:
+BingTranslatorSettingsPanel.untranslatedLabel.text=Sin traducir:
+BingTranslatorSettingsPanel.targetLanguageLabel.text=Idioma de destino:
+BingTranslatorSettingsPanel.authenticationKeyField.toolTipText=Introduzca el hash para la clave
+GoogleTranslatorSettingsPanel.testButton.text=Probar
+GoogleTranslatorSettingsPanel.untranslatedLabel.text=Sin traducir:
+GoogleTranslatorSettingsPanel.resultLabel.text=Resultado:
+GoogleTranslatorSettingsPanel.testResultValueLabel.text=
+BingTranslatorSettingsPanel.authenticationKeyLabel.text=Clave de autenticaci\u00f3n:
+GoogleTranslatorSettingsPanel.instructionsTextArea.text=
+BingTranslatorSettingsPanel.instructionsTextArea.text_1=
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_ar.properties
deleted file mode 100644
index 9fa46a92ec0..00000000000
--- a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_ar.properties
+++ /dev/null
@@ -1,23 +0,0 @@
-OptionsCategory_Name_Machine_Translation=Traduccion Automatica
-OptionsCategory_Keywords_Machine_Translation_Settings=Configuracion de Traduccion Automatica
-TranslatedContentPanel.comboBoxOption.originalText=Texto Original (Hasta 25KB)
-TranslatedContentPanel.comboBoxOption.translatedText=Texto Traducido
-TranslatedContentViewer.emptyTranslation=El software de traduccion automatica no devolvio ningun texto.
-# {0} - mensaje de excepcion
-TranslatedContentViewer.errorExtractingText=Se produjo un error al extraer el texto ({0}).
-TranslatedContentViewer.extractingText=Extrayendo texto, por favor espere...
-TranslatedContentViewer.fileHasNoText=El archivo no contiene texto.
-TranslatedContentViewer.noServiceProvider=No se encontro el software de traduccion automatica.
-TranslatedContentViewer.ocrNotEnabled=El OCR no esta habilitado. Para cambiarlo, vaya a Herramientas->Opciones->Traduccion Automatica
-TranslatedContentViewer.translatingText=Traduciendo texto, por favor espere...
-# {0} - mensaje de excepcion
-TranslatedContentViewer.translationException=Se produjo un error al traducir el texto ({0}).
-TranslatedTextViewer.maxPayloadSize=Se traducira hasta los primeros %dKB de texto
-TranslatedTextViewer.title=Traduccion
-TranslatedTextViewer.toolTip=Muestra el texto del archivo traducido.
-TranslationContentPanel.autoDetectOCR=Deteccion automatica de idioma
-TranslationContentPanel.ocrLabel.text=OCR (Reconocimiento optico de Caracteres):
-TranslationOptionsPanelController.moduleErr=Error del modulo
-TranslationOptionsPanelController.moduleErr.msg=Un modulo genero un error al escuchar actualizaciones de TranslationSettingsPanelController. Consulte el registro para determinar que modulo. Algunos datos podrian estar incompletos.
-TranslationContentPanel.showLabel.text=Mostrar:
-TranslationContentPanel.jSepLarge1.AccessibleContext.accessibleName=
diff --git a/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_es.properties
new file mode 100644
index 00000000000..107c8557c6e
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/texttranslation/ui/Bundle_es.properties
@@ -0,0 +1,30 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+OptionsCategory_Name_Machine_Translation=Traducci\u00f3n Autom\u00e1tica
+OptionsCategory_Keywords_Machine_Translation_Settings=Configuraci\u00f3n de Traducci\u00f3n Autom\u00e1tica
+TranslatedContentPanel.comboBoxOption.originalText=Texto Original (Hasta 25KB)
+TranslatedContentPanel.comboBoxOption.translatedText=Texto Traducido
+TranslatedContentViewer.emptyTranslation=El software de traducci\u00f3n autom\u00e1tica no devolvi\u00f3 ning\u00fan texto.
+# {0} - exception message
+TranslatedContentViewer.errorExtractingText=Ocurri\u00f3 un error al extraer el texto ({0}).
+TranslatedContentViewer.extractingText=Extrayendo texto, por favor espere...
+TranslatedContentViewer.fileHasNoText=El archivo no contiene texto.
+TranslatedContentViewer.noServiceProvider=No se encontr\u00f3 el software de traducci\u00f3n autom\u00e1tica.
+TranslatedContentViewer.ocrNotEnabled=El OCR no est\u00e1 habilitado. Para cambiarlo, vaya a Herramientas->Opciones->Traducci\u00f3n Autom\u00e1tica
+TranslatedContentViewer.translatingText=Traduciendo texto, por favor espere...
+# {0} - exception message
+TranslatedContentViewer.translationException=Ocurri\u00f3 un error al traducir el texto ({0}).
+TranslatedTextViewer.maxPayloadSize=Se traducir\u00e1n hasta los primeros %dKB de texto
+TranslatedTextViewer.title=Traducci\u00f3n
+TranslatedTextViewer.toolTip=Muestra el texto traducido del archivo.
+TranslationContentPanel.autoDetectOCR=Detectar idioma autom\u00e1ticamente
+TranslationContentPanel.ocrLabel.text=OCR:
+TranslationOptionsPanelController.moduleErr=Error del M\u00f3dulo
+TranslationOptionsPanelController.moduleErr.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar las actualizaciones de TranslationSettingsPanelController. Consulte el registro para determinar qu\u00e9 m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+TranslationContentPanel.showLabel.text=Mostrar:
+TranslationContentPanel.jSepLarge1.AccessibleContext.accessibleName=
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/Bundle_ar.properties
deleted file mode 100644
index bff3f43eceb..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/Bundle_ar.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-CTL_MakeTimeline=Linea de Tiempo
-CTL_TimeLineTopComponentAction=Componente Superior de Linea de Tiempo
-CTL_TimeLineTopComponent=Linea de Tiempo
-
-FilteredEventsModel.timeRangeProperty.errorMessage=Error al obtener el intervalo de tiempo.
-FilteredEventsModel.timeRangeProperty.errorTitle=Linea de Tiempo
-OpenTimelineAction.displayName=Linea de Tiempo
-OpenTimeLineAction.msgdlg.text=No se pudo crear la linea de tiempo, no hay fuentes de datos.
-OpenTimelineAction.settingsErrorMessage=Error al inicializar la configuracion de la linea de tiempo.
-PrompDialogManager.buttonType.continueNoUpdate=Continuar sin actualizar
-PrompDialogManager.buttonType.showTimeline=Continuar
-PrompDialogManager.buttonType.update=Actualizar BD
-PromptDialogManager.confirmDuringIngest.contentText=¿Deseas continuar?
-PromptDialogManager.confirmDuringIngest.headerText=La ingestion aun esta en proceso y la linea de tiempo puede estar incompleta.
-PromptDialogManager.progressDialog.title=Generando Datos de la Linea de Tiempo
-PromptDialogManager.rebuildPrompt.details=Detalles
-PromptDialogManager.rebuildPrompt.headerText=La base de datos de la linea de tiempo esta incompleta o desactualizada. Algunos eventos pueden faltar o ser inexactos y algunas funciones pueden no estar disponibles.
-PromptDialogManager.showTimeLineDisabledMessage.contentText=La funcionalidad de la linea de tiempo aun no esta disponible. La linea de tiempo estara desactivada.
-PromptDialogManager.showTimeLineDisabledMessage.headerText=
-PromptDialogManager.showTooManyFiles.contentText=Hay demasiados archivos en la base de datos para garantizar un rendimiento razonable. La linea de tiempo estara desactivada.
-PromptDialogManager.showTooManyFiles.headerText=
-ShowInTimelineDialog.amountValidator.message=La cantidad ingresada solo debe contener digitos.
-ShowInTimelineDialog.artifactTitle=Ver Resultado en la Linea de Tiempo.
-ShowInTimelineDialog.eventSelectionValidator.message=Debes seleccionar un evento.
-# {0} - ruta del archivo
-ShowInTimelineDialog.fileTitle=Ver {0} en la linea de tiempo.
-ShowInTimelineDialog.showTimelineButtonType.text=Mostrar Linea de Tiempo
-Timeline.dialogs.title=\ Linea de Tiempo
-Timeline.frameName.text={0} - Linea de Tiempo de Autopsy
-Timeline.old.version=\ Este caso se creo con una version anterior de Autopsy.\nLa linea de tiempo no mostrara eventos de fuentes de datos agregadas con la version anterior de Autopsy.
-Timeline.resultsPanel.title=Resultados de la Linea de Tiempo
-Timeline.runJavaFxThread.progress.creating=Creando linea de tiempo...
-Timeline.zoomOutButton.text=Reducir Zoom
-Timeline.goToButton.text=Ir a:
-Timeline.yearBarChart.x.years=Anios
-Timeline.resultPanel.loading=Cargando...
-
-TimeLinecontroller.updateNowQuestion=¿Deseas actualizar la base de datos de eventos ahora?
-TimelineFrame.title=Linea de Tiempo
-TimelinePanel.jButton1.text=6m
-TimelinePanel.jButton13.text=todos
-TimelinePanel.jButton10.text=1h
-TimelinePanel.jButton9.text=12h
-TimelinePanel.jButton11.text=5a
-TimelinePanel.jButton12.text=10a
-TimelinePanel.jButton6.text=1s
-TimelinePanel.jButton5.text=1a
-TimelinePanel.jButton8.text=1d
-TimelinePanel.jButton7.text=3d
-TimelinePanel.jButton2.text=1m
-TimelinePanel.jButton3.text=3m
-TimelinePanel.jButton4.text=2s
-ProgressWindow.progressHeader.text=\
-# {0} - inicio del rango de fechas
-# {1} - fin del rango de fechas
-TimeLineResultView.startDateToEndDate.text=De {0} a {1}
-TimeLineTopComponent.eventsTab.name=Eventos
-TimeLineTopComponent.filterTab.name=Filtros
-TimelineTopComponent.selectedEventListener.errorMsg=Hubo un problema al obtener el contenido del evento seleccionado.
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/timeline/Bundle_es.properties
new file mode 100644
index 00000000000..3978423ef53
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/timeline/Bundle_es.properties
@@ -0,0 +1,63 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CTL_MakeTimeline=L\u00ednea de tiempo
+CTL_TimeLineTopComponentAction=Componente superior de l\u00ednea de tiempo
+CTL_TimeLineTopComponent=L\u00ednea de tiempo
+
+FilteredEventsModel.timeRangeProperty.errorMessage=Error al obtener el intervalo.
+FilteredEventsModel.timeRangeProperty.errorTitle=L\u00ednea de tiempo
+OpenTimelineAction.displayName=L\u00ednea de tiempo
+OpenTimeLineAction.msgdlg.text=No se pudo crear la l\u00ednea de tiempo, no hay fuentes de datos.
+OpenTimelineAction.settingsErrorMessage=Error al inicializar la configuraci\u00f3n de la l\u00ednea de tiempo.
+PrompDialogManager.buttonType.continueNoUpdate=Continuar sin actualizar
+PrompDialogManager.buttonType.showTimeline=Continuar
+PrompDialogManager.buttonType.update=Actualizar BD
+PromptDialogManager.confirmDuringIngest.contentText=\u00bfDesea continuar?
+PromptDialogManager.confirmDuringIngest.headerText=La ingesta a\u00fan est\u00e1 en curso y la l\u00ednea de tiempo puede estar incompleta.
+PromptDialogManager.progressDialog.title=Rellenando datos de la l\u00ednea de tiempo
+PromptDialogManager.rebuildPrompt.details=Detalles
+PromptDialogManager.rebuildPrompt.headerText=La base de datos de la l\u00ednea de tiempo est\u00e1 incompleta o desactualizada. Algunos eventos pueden faltar o ser inexactos, y algunas funciones pueden no estar disponibles.
+PromptDialogManager.showTimeLineDisabledMessage.contentText=La funcionalidad de la l\u00ednea de tiempo no est\u00e1 disponible todav\u00eda. La l\u00ednea de tiempo ser\u00e1 deshabilitada.
+PromptDialogManager.showTimeLineDisabledMessage.headerText=
+PromptDialogManager.showTooManyFiles.contentText=Hay demasiados archivos en la base de datos para garantizar un rendimiento razonable. La l\u00ednea de tiempo ser\u00e1 deshabilitada.
+PromptDialogManager.showTooManyFiles.headerText=
+ShowInTimelineDialog.amountValidator.message=La cantidad ingresada solo debe contener d\u00edgitos.
+ShowInTimelineDialog.artifactTitle=Ver resultado en la l\u00ednea de tiempo.
+ShowInTimelineDialog.eventSelectionValidator.message=Debe seleccionar un evento.
+ShowInTimelineDialog.fileTitle=Ver {0} en la l\u00ednea de tiempo.
+ShowInTimelineDialog.showTimelineButtonType.text=Mostrar l\u00ednea de tiempo
+Timeline.dialogs.title=\ L\u00ednea de tiempo
+Timeline.frameName.text={0} - L\u00ednea de tiempo de Autopsy
+Timeline.old.version=\ Este caso fue creado con una versi\u00f3n anterior de Autopsy.\nLa l\u00ednea de tiempo no mostrar\u00e1 eventos de fuentes de datos agregadas con la versi\u00f3n anterior de Autopsy
+Timeline.resultsPanel.title=Resultados de la l\u00ednea de tiempo
+Timeline.runJavaFxThread.progress.creating=Creando l\u00ednea de tiempo . . .
+Timeline.zoomOutButton.text=Alejar
+Timeline.goToButton.text=Ir a:
+Timeline.yearBarChart.x.years=A\u00f1os
+Timeline.resultPanel.loading=Cargando...
+
+TimeLinecontroller.updateNowQuestion=\u00bfDesea actualizar la base de datos de eventos ahora?
+TimelineFrame.title=L\u00ednea de tiempo
+TimelinePanel.jButton1.text=6m
+TimelinePanel.jButton13.text=todo
+TimelinePanel.jButton10.text=1h
+TimelinePanel.jButton9.text=12h
+TimelinePanel.jButton11.text=5a
+TimelinePanel.jButton12.text=10a
+TimelinePanel.jButton6.text=1s
+TimelinePanel.jButton5.text=1a
+TimelinePanel.jButton8.text=1d
+TimelinePanel.jButton7.text=3d
+TimelinePanel.jButton2.text=1m
+TimelinePanel.jButton3.text=3m
+TimelinePanel.jButton4.text=2s
+ProgressWindow.progressHeader.text=\
+TimeLineResultView.startDateToEndDate.text={0} a {1}
+TimeLineTopComponent.eventsTab.name=Eventos
+TimeLineTopComponent.filterTab.name=Filtros
+TimelineTopComponent.selectedEventListener.errorMsg=Hubo un problema al obtener el contenido del evento seleccionado.
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/actions/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/actions/Bundle_ar.properties
deleted file mode 100644
index 9067fd37a16..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/actions/Bundle_ar.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-AddManualEvent.createArtifactFailed=Error al crear el artefacto para el evento.
-# {0} - nombre del origen de datos
-# {1} - ID del origen de datos
-AddManualEvent.EventCreationDialogPane.dataSourceStringConverter.template={0} (ID: {1})
-AddManualEvent.EventCreationDialogPane.initialize.dataSourcesError=Error al obtener fuentes de datos en el caso.
-AddManualEvent.longText=Agregar manualmente un evento a la linea de tiempo.
-AddManualEvent.postArtifactFailed=Error al publicar el artefacto en el tablero.
-AddManualEvent.text=Agregar evento
-AddManualEvent.validation.datetime=Fecha y hora no validas
-AddManualEvent.validation.description=Se requiere una descripcion.
-AddManualEvent.validation.timezone=Zona horaria no valida
-# {0} - teclas de aceleracion de la accion
-Back.longText=Atras: {0}\nVolver a la ultima configuracion de vista.
-Back.text=Atras
-# {0} - teclas de aceleracion de la accion
-Forward.longText=Adelante: {0}\nAvanzar a la siguiente configuracion de vista.
-Forward.text=Adelante
-OpenReportAction.DisplayName=Abrir Informe
-OpenReportAction.MessageBoxTitle=Error al Abrir Informe
-OpenReportAction.MissingReportFileMessage=El archivo del informe ya no existe.
-OpenReportAction.NoAssociatedEditorMessage=No hay un editor asociado para informes de este tipo o la aplicacion asociada no se pudo abrir.
-OpenReportAction.NoOpenInEditorSupportMessage=Esta plataforma (sistema operativo) no admite abrir un archivo en un editor de esta manera.
-OpenReportAction.ReportFileOpenPermissionDeniedMessage=Se denego el permiso para abrir el archivo del informe.
-ResetFilters.text=Restablecer todos los filtros
-RestFilters.longText=Restablecer todos los filtros a su estado predeterminado.
-SaveSnapShotAsReport.action.dialogs.title=Linea de tiempo
-SaveSnapShotAsReport.action.longText=Guardar una captura de pantalla de la vista actual de la linea de tiempo como informe.
-SaveSnapShotAsReport.action.name.text=Informe de Captura de Pantalla
-SaveSnapShotAsReport.duplicateReportNameError.text=Ya existe un informe con ese nombre.
-# {0} - ruta del informe
-SaveSnapShotAsReport.ErrorWritingReport=Error al escribir el informe en el disco en {0}.
-SaveSnapShotAsReport.FailedToAddReport=Error al agregar la captura de pantalla al caso como informe.
-SaveSnapShotAsReport.reportName.header=Ingrese un nombre de informe para el Informe de Captura de Pantalla de la Linea de tiempo.
-# {0} - nombre de informe predeterminado generado
-SaveSnapShotAsReport.reportName.prompt=Deje vacio para el nombre de informe predeterminado:\n{0}.
-# {0} - ruta del archivo del informe
-SaveSnapShotAsReport.ReportSavedAt=Informe guardado en [{0}]
-SaveSnapShotAsReport.Success=Exito
-SaveSnapShotAsReport_OK_Button=Aceptar
-SaveSnapShotAsReport_Open_Button=Abrir Informe
-# {0} - nombre del informe suministrado
-SaveSnapShotAsReport_Path_Failure_Report=Error al crear el informe. El nombre del informe suministrado tiene caracteres no validos: {0}
-SaveSnapShotAsReport_Report_Failed=Error en el informe
-# {0} - ubicacion del informe
-SaveSnapShotAsReport_success_message=Informe de captura de pantalla creado correctamente en la ubicacion:\n\n{0}
-Timeline.ModuleName=Linea de tiempo
-ViewArtifactInTimelineAction.displayName=Ver Resultado en la Linea de tiempo...
-ViewFileInTimelineAction.viewFile.displayName=Ver Archivo en la Linea de tiempo...
-ViewFileInTimelineAction.viewSourceFile.displayName=Ver Archivo de Origen en la Linea de tiempo...
-ZoomIn.action.text=Acercar
-ZoomIn.errorMessage=Error al hacer zoom.
-ZoomIn.longText=Acercar para ver aproximadamente la mitad del tiempo.
-ZoomOut.action.text=Alejar
-ZoomOut.disabledProperty.errorMessage=Error al obtener el intervalo abarcador.
-ZoomOut.errorMessage=Error al alejar.
-ZoomOut.longText=Alejar para ver aproximadamente un 50% mas de tiempo.
-ZoomToEvents.action.text=Zoom a los eventos
-ZoomToEvents.disabledProperty.errorMessage=Error al obtener el intervalo abarcador.
-ZoomToEvents.longText=Alejar para mostrar los eventos mas cercanos.
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/Bundle_ar.properties
deleted file mode 100644
index 90f1f526873..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/datamodel/eventtype/Bundle_ar.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-BaseTypes.fileSystem.name=Sistema de Archivos
-BaseTypes.webActivity.name=Actividad Web
-BaseTypes.miscTypes.name=Tipos Miscelaneos
-FileSystemTypes.fileModified.name=Archivo Modificado
-FileSystemTypes.fileAccessed.name=Archivo Accedido
-FileSystemTypes.fileCreated.name=Archivo Creado
-FileSystemTypes.fileChanged.name=Archivo Cambiado
-MiscTypes.message.name=Mensajes
-MiscTypes.GPSRoutes.name=Rutas de GPS
-MiscTypes.GPSTrackpoint.name=Historial de Ubicacion
-MiscTypes.Calls.name=Llamadas
-MiscTypes.Email.name=Correo Electronico
-MiscTypes.recentDocuments.name=Documentos Recientes
-MiscTypes.installedPrograms.name=Programas Instalados
-MiscTypes.exif.name=Exif
-MiscTypes.devicesAttached.name=Dispositivos Conectados
-RootEventType.eventTypes.name=Tipos de Evento
-WebTypes.webDownloads.name=Descargas Web
-WebTypes.webCookies.name=Cookies Web
-WebTypes.webBookmarks.name=Marcadores Web
-WebTypes.webHistory.name=Historial Web
-WebTypes.webSearch.name=Busquedas Web
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/Bundle_ar.properties
deleted file mode 100644
index df6f768a973..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/explorernodes/Bundle_ar.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-EventNode.getAction.errorTitle=Error al obtener acciones
-EventNode.getAction.linkedFileMessage=Hubo un problema al obtener las acciones para el resultado seleccionado. La accion 'Ver Archivo en la Linea de tiempo' no estara disponible.
-# {0} - numero maximo de eventos para mostrar
-# {1} - numero de eventos que es demasiado
-EventRoodNode.tooManyNode.displayName=Demasiados eventos para mostrar. Maximo = {0}. Pero hay {1} para mostrar.
-NodeProperty.displayName.dateTime=Fecha/Hora
-NodeProperty.displayName.description=Descripcion
-NodeProperty.displayName.eventType=Tipo de Evento
-NodeProperty.displayName.icon=icono
-NodeProperty.displayName.known=Conocido
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_ar.properties
deleted file mode 100644
index ec63cf605d1..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_ar.properties
+++ /dev/null
@@ -1,57 +0,0 @@
-AbstractTimelineChart.defaultTooltip.text=Arrastra el raton para seleccionar un intervalo de tiempo y hacer zoom.\nHaz clic derecho para mas acciones.
-HistoryToolBar.historyLabel.text=Historial
-IntervalSelector.ClearSelectedIntervalAction.tooltTipText=Borrar Intervalo Seleccionado
-IntervalSelector.ZoomAction.name=Zoom
-IntervalSelector.zoomToSelectedInterval.errorMessage=Error al hacer zoom en el intervalo seleccionado.
-NoEventsDialog.titledPane.text=Eventos No Visibles
-Timeline.node.root=Raiz
-# {0} - marca de tiempo de inicio
-# {1} - marca de tiempo de fin
-Timeline.ui.TimeLineChart.tooltip.text=Doble clic para hacer zoom en el rango:\n{0} a {1}.\n\nHaz clic derecho para cerrar.
-Timeline.ui.ZoomRanges.onemin.text=Un Minuto
-Timeline.ui.ZoomRanges.fifteenmin.text=Quince Minutos
-Timeline.ui.ZoomRanges.onehour.text=Una Hora
-Timeline.ui.ZoomRanges.sixhours.text=Seis Horas
-Timeline.ui.ZoomRanges.twelvehours.text=Doce Horas
-Timeline.ui.ZoomRanges.oneday.text=Un Dia
-Timeline.ui.ZoomRanges.threedays.text=Tres Dias
-Timeline.ui.ZoomRanges.oneweek.text=Una Semana
-Timeline.ui.ZoomRanges.twoweeks.text=Dos Semanas
-Timeline.ui.ZoomRanges.onemonth.text=Un Mes
-Timeline.ui.ZoomRanges.threemonths.text=Tres Meses
-Timeline.ui.ZoomRanges.sixmonths.text=Seis Meses
-Timeline.ui.ZoomRanges.oneyear.text=Un Año
-Timeline.ui.ZoomRanges.threeyears.text=Tres Años
-Timeline.ui.ZoomRanges.fiveyears.text=Cinco Años
-Timeline.ui.ZoomRanges.tenyears.text=Diez Años
-Timeline.ui.ZoomRanges.all.text=Todo
-TimeLineChart.zoomHistoryActionGroup.name=Historial de Zoom
-TimeZonePanel.title=Mostrar Horarios En:
-ViewFrame.countsToggle.text=Recuentos
-ViewFrame.dateTimeValidator.errorMessage=Error al obtener el intervalo de tiempo.
-ViewFrame.detailsToggle.text=Detalles
-ViewFrame.endLabel.text=Fin:
-ViewFrame.histogramTask.preparing=Preparando
-ViewFrame.histogramTask.queryDb=Consultando la Base de Datos
-ViewFrame.histogramTask.resetUI=Reiniciando la Interfaz de Usuario
-ViewFrame.histogramTask.title=Reconstruyendo Histograma
-ViewFrame.histogramTask.updateUI2=Actualizando la Interfaz de Usuario
-ViewFrame.listToggle.text=Lista
-ViewFrame.localDateDisabler.errorMessage=Error al obtener el intervalo de tiempo.
-ViewFrame.noEventsDialogLabel.text=No hay eventos visibles con la configuracion actual de zoom / filtro.
-ViewFrame.notification.cacheInvalidated=Los datos de los eventos han sido actualizados, la visualizacion puede estar desactualizada.
-ViewFrame.pickerListener.errorMessage=Error al responder al cambio de seleccion en el selector de fecha/hora.
-ViewFrame.rangeSliderListener.errorMessage=Error al responder al selector de rango.
-ViewFrame.refresh.longText=Actualizar la vista para incluir informacion que esta en la base de datos pero no se muestra, como etiquetas recien actualizadas.
-ViewFrame.refresh.text=Actualizar Vista
-ViewFrame.refreshTimeUI.errorMessage=Error al obtener el intervalo de tiempo.
-ViewFrame.startLabel.text=Inicio:
-ViewFrame.tagsAddedOrDeleted=Se han creado y/o eliminado etiquetas. La vista puede no estar actualizada.
-ViewFrame.viewModeLabel.text=Modo de Vista:
-ViewFrame.zoomButton.text=Hacer Zoom a los Eventos
-TimeZonePanel.localRadio.text=Zona Horaria Local
-TimeZonePanel.otherRadio.text=GMT / UTC
-ViewFrame.resetFiltersButton.text=Restablecer todos los filtros
-ViewFrame.zoomMenuButton.errorMessage=Error al ajustar el rango de tiempo.
-ViewFrame.zoomMenuButton.text=Hacer Zoom Dentro/Fuera de
-ViewRefreshTask.preparing=Analizando la configuracion de zoom y filtros
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_es.properties
new file mode 100644
index 00000000000..7dee8ff002a
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/timeline/ui/Bundle_es.properties
@@ -0,0 +1,64 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AbstractTimelineChart.defaultTooltip.text=Arrastre el mouse para seleccionar un intervalo de tiempo para hacer zoom.\nHaga clic derecho para m\u00e1s acciones.
+HistoryToolBar.historyLabel.text=Historial
+IntervalSelector.ClearSelectedIntervalAction.tooltTipText=Limpiar intervalo seleccionado
+IntervalSelector.ZoomAction.name=Zoom
+IntervalSelector.zoomToSelectedInterval.errorMessage=Error al hacer zoom en el intervalo seleccionado.
+NoEventsDialog.titledPane.text=No hay eventos visibles
+Timeline.node.root=Ra\u00edz
+# {0} - start timestamp
+# {1} - end timestamp
+Timeline.ui.TimeLineChart.tooltip.text=Doble clic para hacer zoom en el rango:\n{0} a {1}.\n\nClic derecho para cerrar.
+Timeline.ui.ZoomRanges.onemin.text=Un minuto
+Timeline.ui.ZoomRanges.fifteenmin.text=Quince minutos
+Timeline.ui.ZoomRanges.onehour.text=Una hora
+Timeline.ui.ZoomRanges.sixhours.text=Seis horas
+Timeline.ui.ZoomRanges.twelvehours.text=Doce horas
+Timeline.ui.ZoomRanges.oneday.text=Un d\u00eda
+Timeline.ui.ZoomRanges.threedays.text=Tres d\u00edas
+Timeline.ui.ZoomRanges.oneweek.text=Una semana
+Timeline.ui.ZoomRanges.twoweeks.text=Dos semanas
+Timeline.ui.ZoomRanges.onemonth.text=Un mes
+Timeline.ui.ZoomRanges.threemonths.text=Tres meses
+Timeline.ui.ZoomRanges.sixmonths.text=Seis meses
+Timeline.ui.ZoomRanges.oneyear.text=Un a\u00f1o
+Timeline.ui.ZoomRanges.threeyears.text=Tres a\u00f1os
+Timeline.ui.ZoomRanges.fiveyears.text=Cinco a\u00f1os
+Timeline.ui.ZoomRanges.tenyears.text=Diez a\u00f1os
+Timeline.ui.ZoomRanges.all.text=Todo
+TimeLineChart.zoomHistoryActionGroup.name=Historial de zoom
+TimeZonePanel.title=Mostrar horas en:
+ViewFrame.countsToggle.text=Conteos
+ViewFrame.dateTimeValidator.errorMessage=Error al obtener el intervalo de tiempo.
+ViewFrame.detailsToggle.text=Detalles
+ViewFrame.endLabel.text=Fin:
+ViewFrame.histogramTask.preparing=Preparando
+ViewFrame.histogramTask.queryDb=Consultando FB
+ViewFrame.histogramTask.resetUI=Restableciendo interfaz
+ViewFrame.histogramTask.title=Reconstruyendo histograma
+ViewFrame.histogramTask.updateUI2=Actualizando interfaz
+ViewFrame.listToggle.text=Lista
+ViewFrame.localDateDisabler.errorMessage=Error al obtener el intervalo de tiempo.
+ViewFrame.noEventsDialogLabel.text=No hay eventos visibles con la configuraci\u00f3n actual de zoom / filtro.
+ViewFrame.notification.cacheInvalidated=Los datos de eventos han sido actualizados, la visualizaci\u00f3n puede estar desactualizada.
+ViewFrame.pickerListener.errorMessage=Error al responder al cambio en el selector de fecha/hora.
+ViewFrame.rangeSliderListener.errorMessage=Error al responder al control deslizante de rango.
+ViewFrame.refresh.longText=Actualizar la vista para incluir informaci\u00f3n que est\u00e1 en la base de datos pero no se muestra, como etiquetas recientemente actualizadas.
+ViewFrame.refresh.text=Actualizar vista
+ViewFrame.refreshTimeUI.errorMessage=Error al obtener el intervalo de tiempo.
+ViewFrame.startLabel.text=Inicio:
+ViewFrame.tagsAddedOrDeleted=Se han creado y/o eliminado etiquetas. La vista puede no estar actualizada.
+ViewFrame.viewModeLabel.text=Modo de vista:
+ViewFrame.zoomButton.text=Zoom a eventos
+TimeZonePanel.localRadio.text=Zona horaria local
+TimeZonePanel.otherRadio.text=GMT / UTC
+ViewFrame.resetFiltersButton.text=Restablecer todos los filtros
+ViewFrame.zoomMenuButton.errorMessage=Error al aplicar el rango de tiempo.
+ViewFrame.zoomMenuButton.text=Hacer zoom en/a
+ViewRefreshTask.preparing=Analizando configuraciones de zoom y filtro
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle_ar.properties
deleted file mode 100644
index e6f2e747596..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/countsview/Bundle_ar.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-BarClickHandler.selectTimeAndType.errorMessage=Error al seleccionar la hora y el tipo.
-BarClickHandler_zoomIn_errorMessage=Error al acercar.
-CountsViewPane.detailSwitchMessage=No hay una resolucion temporal menor que segundos.\n¿Deseas cambiar a la vista de Detalles en su lugar?
-CountsViewPane.detailSwitchTitle="¿Cambiar a la Vista de Detalles?"
-CountsViewPane.linearRadio.text=Lineal
-CountsViewPane.loggedTask.name=Actualizando Vista de Recuentos
-CountsViewPane.loggedTask.updatingCounts=Rellenando la vista
-CountsViewPane.logRadio.text=Logaritmico
-# {0} - nombre de la escala
-CountsViewPane.numberOfEvents=Numero de Eventos ({0})
-CountsViewPane.scaleHelp.label.text=Escalas:
-CountsViewPane.scaleHelpLinear=La escala lineal es buena para muchos casos de uso. Cuando se selecciona esta escala, la altura de las barras representa los recuentos de manera lineal, uno a uno, y el eje y esta etiquetado con valores. Cuando el rango de valores es muy grande, los periodos de tiempo con recuentos bajos pueden tener una barra demasiado pequenia para ver. Para ayudar al usuario a detectar esto, las etiquetas de los rangos de fechas con eventos estan en negrita. Para ver barras demasiado pequenias, hay tres opciones: ajustar el tamanio de la ventana para que la linea de tiempo tenga mas espacio vertical, ajustar el rango de tiempo mostrado para excluir periodos de tiempo con barras mas grandes o ajustar la configuracion de escala a logaritmica.
-CountsViewPane.scaleHelpLog=La escala logaritmica representa el numero de eventos de manera no lineal, comprimiendo la diferencia entre numeros grandes y pequenios. Ten en cuenta que incluso con la escala logaritmica, una diferencia extremadamente grande en los recuentos puede producir barras demasiado pequenias para ver. En este caso, la unica opcion puede ser filtrar eventos para reducir la diferencia en los recuentos. NOTA: Debido a que la escala logaritmica se aplica a cada tipo de evento por separado, el significado de la altura de la barra combinada no es intuitivo, y para enfatizar esto, no se muestran etiquetas en el eje y con la escala logaritmica. La escala logaritmica debe usarse para comparar rapidamente los recuentos
-CountsViewPane.scaleHelpLog2=con el tiempo dentro de un tipo o entre tipos para un periodo de tiempo, pero no ambos.
-CountsViewPane.scaleHelpLog3=\ Los recuentos reales (disponibles en informacion sobre herramientas o en el visor de resultados) deben usarse para comparaciones absolutas. Usa la escala logaritmica con precaucion.
-CountsViewPane.scaleLabel.text=Escala:
-# {0} - recuento
-# {1} - nombre para mostrar del tipo de evento
-# {2} - fecha y hora de inicio
-# {3} - fecha y hora de fin
-CountsViewPane.tooltip.text={0} eventos {1}\nentre {2}\ny {3}
-ScaleType.Linear=Lineal
-ScaleType.Logarithmic=Logaritmico
-SelectIntervalAction.errorMessage=Error al seleccionar el intervalo.
-SelectIntervalAndTypeAction.errorMessage=Error al seleccionar el intervalo y el tipo.
-SelectTypeAction.errorMessage=Error al seleccionar el tipo.
-Timeline.ui.countsview.menuItem.selectEventType=Seleccionar Tipo de Evento
-Timeline.ui.countsview.menuItem.selectTimeandType=Seleccionar Hora y Tipo
-Timeline.ui.countsview.menuItem.selectTimeRange=Seleccionar Rango de Tiempo
-Timeline.ui.countsview.menuItem.zoomIntoTimeRange=Acercar al Rango de Tiempo
-ZoomToIntervalAction.errorMessage=Error al acercar al intervalo.
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/Bundle_ar.properties
deleted file mode 100644
index 01a9a71e9ad..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/Bundle_ar.properties
+++ /dev/null
@@ -1,42 +0,0 @@
-CollapseClusterAction.text=Contraer
-DetailViewPane.advancedLayoutOptionsButtonLabel.text=Opciones de Diseño Avanzadas
-DetailViewPane.bandByTypeBox.text=Agrupar por Tipo
-DetailViewPane.countsRadio.text=Mostrar Solo Recuentos
-DetailViewPane.hiddenRadio.text=Ocultar Descripcion
-DetailViewPane.loggedTask.backButton=Volver (Cancelar)
-DetailViewPane.loggedTask.continueButton=Continuar
-DetailViewPane.loggedTask.name=Actualizando Vista de Detalles
-# {0} - numero de eventos
-DetailViewPane.loggedTask.prompt=Estas a punto de mostrar detalles para {0} eventos. Esto podria ser muy lento y agotar la memoria disponible.\n\n¿Deseas continuar?
-DetailViewPane.loggedTask.queryDb=Recuperando datos del evento
-DetailViewPane.loggedTask.updateUI=Rellenando la vista
-DetailViewPane.oneEventPerRowBox.text=Uno por Fila
-DetailViewPane.pinnedLaneLabel.text=Eventos Fijados
-DetailViewPane.primaryLaneLabel.text=Todos los Eventos (Filtrados)
-DetailViewPane.showRadio.text=Mostrar Descripcion Completa
-DetailViewPane.truncateAllBox.text=Recortar Descripciones
-DetailViewPane.truncateSliderLabel.text=ancho maximo de descripcion (px):
-EventBundleNodeBase.toolTip.loading=cargando...
-EventClusterNode.loggedTask.name=Cargar subeventos
-# {0} - cadena de recuentos de hash set
-EventNodeBase.toolTip.hashSetHits=\n\nCoincidencias en conjuntos hash\n{0}
-EventNodeBase.toolTip.loading2=cargando informacion sobre herramientas
-# {0} - cadena de recuentos de etiquetas
-EventNodeBase.toolTip.tags=\n\nEtiquetas\n{0}
-# {0} - recuentos
-# {1} - tipo de evento
-# {2} - descripcion
-# {3} - fecha/hora de inicio
-# {4} - fecha/hora de fin
-EventNodeBase.tooltip.text={0} eventos {1}\n{2}\nentre\t{3}\ny \t{4}
-ExpandClusterAction.text=Expandir
-# {0} - fecha/hora en la posicion de la linea guia
-GuideLine.tooltip.text={0}\nHaz clic derecho para eliminar.\nArrastra para reposicionar.
-HideDescriptionAction.displayMsg=Ocultar este grupo de la vista de detalles.
-HideDescriptionAction.displayName=Ocultar
-PinEventAction.text=Fijar
-PinnedChartLane.pinnedEventsListener.errorMessage=Error al agregar evento fijado a la linea.
-PlaceMarkerAction.name=Colocar Marcador
-PrimaryDetailsChartLane.stripeChangeListener.errorMessage=Error al agregar franja a la linea del grafico.
-UnhideDescriptionAction.displayName=Mostrar
-UnPinEventAction.text=Desfijar
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/Bundle_ar.properties
deleted file mode 100644
index 722db1d1972..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/detailview/tree/Bundle_ar.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-EventsTree.Label.text=Ordenar Por:
-TreeComparator.Count.displayName=Recuento
-TreeComparator.Description.displayName=Descripcion
-TreeComparator.Type.displayName=Tipo
\ No newline at end of file
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle_ar.properties
deleted file mode 100644
index 9dc3f845f8e..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/filtering/Bundle_ar.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-FilsetSetPanel.hiddenDescriptionsPane.displayName=Descripciones Ocultas
-FilterSetPanel.applyButton.longText=(Re)Aplicar filtros
-FilterSetPanel.applyButton.text=Aplicar
-FilterSetPanel.defaultButton.text=Restablecer
-FilterSetPanel.hiddenDescriptionsListView.remove=Eliminar de la lista
-FilterSetPanel.hiddenDescriptionsListView.unhideAndRemove=Mostrar y eliminar de la lista
-Timeline.ui.filtering.menuItem.all=todos
-Timeline.ui.filtering.menuItem.none=ninguno
-Timeline.ui.filtering.menuItem.only=solo
-Timeline.ui.filtering.menuItem.others=otros
-Timeline.ui.filtering.menuItem.select=seleccionar
-Timeline.ui.filtering.promptText=introducir cadena de filtro
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/ui/listvew/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/ui/listvew/Bundle_ar.properties
deleted file mode 100644
index c75767e1f37..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/ui/listvew/Bundle_ar.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-EventRow.updateItem.errorMessage=Error al obtener el evento por su ID.
-EventTableCell.updateItem.errorMessage=Error al obtener el evento por su ID.
-ListChart.errorMsg=Hubo un problema al obtener el contenido del evento seleccionado.
-# {0} - número de eventos
-ListTimeline.eventCountLabel.text={0} eventos
-ListTimeline.hashHitTooltip.error=Hubo un problema al obtener los nombres de los conjuntos hash para el evento seleccionado.
-# {0} - nombres de conjuntos hash
-ListTimeline.hashHitTooltip.text=Conjuntos Hash:\n{0}
-ListTimeline.taggedTooltip.error=Hubo un problema al obtener los nombres de las etiquetas para el evento seleccionado.
-# {0} - nombres de etiquetas
-ListTimeline.taggedTooltip.text=Etiquetas:\n{0}
-ListView.EventTypeCell.accessedTooltip=Archivo Accedido ( A )
-ListView.EventTypeCell.changedTooltip=Archivo Cambiado ( C )
-ListView.EventTypeCell.createdTooltip=Archivo Creado ( B, de Born )
-ListView.EventTypeCell.modifiedTooltip=Archivo Modificado ( M )
-ListViewPane.loggedTask.name=Actualizando Vista de Lista
-ListViewPane.loggedTask.queryDb=Recuperando datos del evento
-ListViewPane.loggedTask.updateUI=Rellenando la vista
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/utils/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/utils/Bundle_ar.properties
deleted file mode 100644
index 38cccd73e14..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/utils/Bundle_ar.properties
+++ /dev/null
@@ -1 +0,0 @@
-FilterUtils.otherFilter.displayName=Otros
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_ar.properties
deleted file mode 100644
index ca8eff391d1..00000000000
--- a/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_ar.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-DescriptionLOD.short=Corto
-DescriptionLOD.medium=Medio
-DescriptionLOD.full=Completo
-EventTypeZoomLevel.rootType=Tipo Raioz
-EventTypeZoomLevel.baseType=Tipo Base
-EventTypeZoomLevel.subType=Subtipo
-ZoomSettingsPane.descrLODLabel.text=Detalle de Descripcion:
-ZoomSettingsPane.sliderChange.errorText=Error al responder al cambio del valor del deslizador.
-ZoomSettingsPane.timeUnitLabel.text=Unidades de Tiempo:
-ZoomSettingsPane.typeZoomLabel.text=Tipo de Evento:
-ZoomSettingsPane.zoomLabel.text=Zoom
diff --git a/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_es.properties
new file mode 100644
index 00000000000..5c8fd03e441
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/timeline/zooming/Bundle_es.properties
@@ -0,0 +1,18 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+DescriptionLOD.short=Corto
+DescriptionLOD.medium=Mediano
+DescriptionLOD.full=Completo
+EventTypeZoomLevel.rootType=Tipo Ra\u00edz
+EventTypeZoomLevel.baseType=Tipo Base
+EventTypeZoomLevel.subType=Subtipo
+ZoomSettingsPane.descrLODLabel.text=Detalle de Descripci\u00f3n:
+ZoomSettingsPane.sliderChange.errorText=Error al responder al cambio de valor del control deslizante.
+ZoomSettingsPane.timeUnitLabel.text=Unidades de Tiempo:
+ZoomSettingsPane.typeZoomLabel.text=Tipo de Evento:
+ZoomSettingsPane.zoomLabel.text=Zoom
diff --git a/Core/src/org/sleuthkit/autopsy/url/analytics/domaincategorization/Bundle_ar.properties b/Core/src/org/sleuthkit/autopsy/url/analytics/domaincategorization/Bundle_ar.properties
deleted file mode 100644
index 1b46c3c4b52..00000000000
--- a/Core/src/org/sleuthkit/autopsy/url/analytics/domaincategorization/Bundle_ar.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-AddEditCategoryDialog_Add=Aniadir Entrada
-AddEditCategoryDialog_Edit=Editar Entrada
-# {0} - maxCategoryLen
-AddEditCategoryDialog_onValueUpdate_badCategory=Por favor, ingresa una categoria de no mas de {0} caracteres.
-# {0} - maxSuffixLen
-AddEditCategoryDialog_onValueUpdate_badSuffix=Por favor, ingresa un sufijo de dominio de no mas de {0} caracteres que incluya al menos un punto.
-AddEditCategoryDialog_onValueUpdate_sameCategory=Por favor, proporciona una nueva categoria para este sufijo de dominio.
-AddEditCategoryDialog_onValueUpdate_suffixRepeat=Por favor, proporciona un sufijo de dominio unico.
-WebCategoriesOptionsPanel_categoryTable_categoryColumnName=Categoria
-WebCategoriesOptionsPanel_categoryTable_suffixColumnName=Sufijo del Dominio
-WebCategoriesOptionsPanel_exportSetButtonActionPerformed_defaultFileName=Exportacion de Categorias Personalizadas
-WebCategoriesOptionsPanel_exportSetButtonActionPerformed_duplicateMessage=Ya existe un archivo en la ruta seleccionada. Las categorias no seran exportadas.
-WebCategoriesOptionsPanel_exportSetButtonActionPerformed_duplicateTitle=Archivo Ya Existe
-WebCategoriesOptionsPanel_exportSetButtonActionPerformed_errorMessage=Hubo un error al exportar.
-WebCategoriesOptionsPanel_exportSetButtonActionPerformed_errorTitle=Error de Exportacion
-WebCategoriesOptionsPanel_importSetButtonActionPerformed_errorMessage=Hubo un error al importar este archivo JSON.
-WebCategoriesOptionsPanel_importSetButtonActionPerformed_errorTitle=Error de Importacion
-WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictCancel=Cancelar
-# {0} - domainSuffix
-WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictMessage=El sufijo del dominio {0} ya existe. ¿Que te gustaria hacer?
-WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictOverwrite=Sobrescribir
-WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictSkip=Omitir
-WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictTitle=Sufijo del Dominio Ya Existe
-WebCategoryOptionsController_title=Categorias Web Personalizadas
-WebCategoryOptionsController_keywords=Categorias Web Personalizadas
-AddEditCategoryDialog.categoryLabel.text=Categoria:
-AddEditCategoryDialog.domainSuffixLabel.text=Sufijo del Dominio:
-AddEditCategoryDialog.saveButton.text=Guardar
-AddEditCategoryDialog.cancelButton.text=Cancelar
-WebCategoriesOptionsPanel.panelDescription.text=Esta funcion permite al modulo de ingestion de Actividad Reciente realizar una categorizacion personalizada de sitios web basada en sufijos de dominio.
-WebCategoriesOptionsPanel.categoriesTitle.text=Categorias:
-WebCategoriesOptionsPanel.newEntryButton.text=Nueva Entrada
-WebCategoriesOptionsPanel.editEntryButton.text=Editar Entrada
-WebCategoriesOptionsPanel.deleteEntryButton.text=Eliminar Entrada
-WebCategoriesOptionsPanel.importSetButton.text=Importar Conjunto
-WebCategoriesOptionsPanel.exportSetButton.text=Exportar Conjunto
-WebCategoriesOptionsPanel.ingestRunningWarning.text=La ingestion esta en proceso. No se puede realizar ninguna edicion en este momento.
diff --git a/Core/src/org/sleuthkit/autopsy/url/analytics/domaincategorization/Bundle_es.properties b/Core/src/org/sleuthkit/autopsy/url/analytics/domaincategorization/Bundle_es.properties
new file mode 100644
index 00000000000..ca545781ff8
--- /dev/null
+++ b/Core/src/org/sleuthkit/autopsy/url/analytics/domaincategorization/Bundle_es.properties
@@ -0,0 +1,44 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AddEditCategoryDialog_Add=A\u00f1adir entrada
+AddEditCategoryDialog_Edit=Editar entrada
+# {0} - maxCategoryLen
+AddEditCategoryDialog_onValueUpdate_badCategory=Por favor, proporcione una categor\u00eda que no tenga m\u00e1s de {0} caracteres.
+# {0} - maxSuffixLen
+AddEditCategoryDialog_onValueUpdate_badSuffix=Por favor, proporcione un sufijo de dominio que no tenga m\u00e1s de {0} caracteres e incluya al menos un punto.
+AddEditCategoryDialog_onValueUpdate_sameCategory=Por favor, proporcione una nueva categor\u00eda para este sufijo de dominio.
+AddEditCategoryDialog_onValueUpdate_suffixRepeat=Por favor, proporcione un sufijo de dominio \u00fanico.
+WebCategoriesOptionsPanel_categoryTable_categoryColumnName=Categor\u00eda
+WebCategoriesOptionsPanel_categoryTable_suffixColumnName=Sufijo de dominio
+WebCategoriesOptionsPanel_exportSetButtonActionPerformed_defaultFileName=Exportaci\u00f3n de Categor\u00edas Personalizadas
+WebCategoriesOptionsPanel_exportSetButtonActionPerformed_duplicateMessage=Ya existe un archivo en la ruta seleccionada. Las categor\u00edas no ser\u00e1n exportadas.
+WebCategoriesOptionsPanel_exportSetButtonActionPerformed_duplicateTitle=El archivo ya existe
+WebCategoriesOptionsPanel_exportSetButtonActionPerformed_errorMessage=Hubo un error al exportar.
+WebCategoriesOptionsPanel_exportSetButtonActionPerformed_errorTitle=Error de exportaci\u00f3n
+WebCategoriesOptionsPanel_importSetButtonActionPerformed_errorMessage=Hubo un error al importar este archivo JSON.
+WebCategoriesOptionsPanel_importSetButtonActionPerformed_errorTitle=Error de importaci\u00f3n
+WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictCancel=Cancelar
+# {0} - domainSuffix
+WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictMessage=El sufijo de dominio {0} ya existe. \u00bfQu\u00e9 le gustar\u00eda hacer?
+WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictOverwrite=Sobrescribir
+WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictSkip=Omitir
+WebCategoriesOptionsPanel_importSetButtonActionPerformed_onConflictTitle=El sufijo de dominio ya existe
+WebCategoryOptionsController_title=Categor\u00edas Web Personalizadas
+WebCategoryOptionsController_keywords=Categor\u00edas Web Personalizadas
+AddEditCategoryDialog.categoryLabel.text=Categor\u00eda:
+AddEditCategoryDialog.domainSuffixLabel.text=Sufijo de dominio:
+AddEditCategoryDialog.saveButton.text=Guardar
+AddEditCategoryDialog.cancelButton.text=Cancelar
+WebCategoriesOptionsPanel.panelDescription.text=Esta funci\u00f3n permite que el m\u00f3dulo de ingesta de Actividad Reciente realice la categorizaci\u00f3n personalizada de sitios web en base a sufijos de dominio.
+WebCategoriesOptionsPanel.categoriesTitle.text=Categor\u00edas:
+WebCategoriesOptionsPanel.newEntryButton.text=Nueva entrada
+WebCategoriesOptionsPanel.editEntryButton.text=Editar entrada
+WebCategoriesOptionsPanel.deleteEntryButton.text=Eliminar entrada
+WebCategoriesOptionsPanel.importSetButton.text=Importar conjunto
+WebCategoriesOptionsPanel.exportSetButton.text=Exportar conjunto
+WebCategoriesOptionsPanel.ingestRunningWarning.text=La ingesta est\u00e1 en ejecuci\u00f3n. No se pueden hacer ediciones en este momento.
diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ar.properties b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ar.properties
deleted file mode 100644
index 634a6e5fbbe..00000000000
--- a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_ar.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-OpenIDE-Module-Display-Category=Bibliotecas
-OpenIDE-Module-Long-Description=\
- Dependencias de bibliotecas externas para el modulo Core. \n\
- Las bibliotecas tambien pueden ser importadas por otros modulos.
-OpenIDE-Module-Name=Autopsy-CoreLibs
-OpenIDE-Module-Short-Description=Bibliotecas externas del modulo central de Autopsy
-SigarLoader.linkErr.msg=No se pudo cargar la biblioteca sigar para su entorno (no critico), las metricas a nivel del sistema operativo no estaran disponibles.
diff --git a/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_es.properties b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_es.properties
new file mode 100644
index 00000000000..b7957f74865
--- /dev/null
+++ b/CoreLibs/src/org/sleuthkit/autopsy/corelibs/Bundle_es.properties
@@ -0,0 +1,43 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+MSG_AlreadyRunning=Ya parece estar ejecutándose una instancia del programa con su directorio de usuario.\n\
+Puede que una sesión anterior del programa no se haya cerrado correctamente, o que otra instancia\n\
+del programa se esté ejecutando en un equipo diferente utilizando el mismo directorio de usuario.\n\
+\n\
+Si otra sesión del programa está utilizando el mismo directorio de usuario, haga clic en\n\
+Cancelar para evitar la corrupción del directorio de usuario. Si está seguro de que no hay\n\
+otras instancias del programa en ejecución con su directorio de usuario, haga clic en Aceptar para continuar.
+
+MSG_AlreadyRunningTitle=Advertencia
+
+MSG_CannotWrite=Una instancia del programa no puede acceder al directorio de usuario especificado.\n\
+Este es un problema grave que puede impedir que el programa funcione correctamente.\n\
+Asegúrese de que {0} sea escribible.\n\
+\n\
+Haga clic en Aceptar para continuar a pesar del error anterior.
+
+MSG_CannotWriteTitle=Advertencia
+
+EXC_not_a_module={0} no es un módulo válido de NetBeans.
+
+# {0} - nombres de módulos
+MSG_ENABLE_MISSING=No se puede habilitar {0}
+
+# bootstrap manifest
+OpenIDE-Module-Name=Inicio
+OpenIDE-Module-Display-Category=Infraestructura
+OpenIDE-Module-Short-Description=El núcleo de arranque de las aplicaciones basadas en NetBeans.
+OpenIDE-Module-Long-Description=\
+ Este módulo proporciona la infraestructura inicial \
+ que carga todas las demás partes de la aplicación. \
+ No se puede deshabilitar.
+
+MSG_InstallJava7=No se puede ejecutar en versiones anteriores a Java 7 Standard Edition.\n\
+ Por favor, instale Java 7 Standard Edition o posterior, o utilice la opción --jdkhome\n\
+ para indicar el directorio de instalación.
+
+MSG_NeedsJava7=Se requiere Java 7 Standard Edition o una versión más reciente
diff --git a/CoreTestLibs/src/org/sleuthkit/autopsy/coretestlibs/Bundle_es.properties b/CoreTestLibs/src/org/sleuthkit/autopsy/coretestlibs/Bundle_es.properties
new file mode 100644
index 00000000000..b7957f74865
--- /dev/null
+++ b/CoreTestLibs/src/org/sleuthkit/autopsy/coretestlibs/Bundle_es.properties
@@ -0,0 +1,43 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+MSG_AlreadyRunning=Ya parece estar ejecutándose una instancia del programa con su directorio de usuario.\n\
+Puede que una sesión anterior del programa no se haya cerrado correctamente, o que otra instancia\n\
+del programa se esté ejecutando en un equipo diferente utilizando el mismo directorio de usuario.\n\
+\n\
+Si otra sesión del programa está utilizando el mismo directorio de usuario, haga clic en\n\
+Cancelar para evitar la corrupción del directorio de usuario. Si está seguro de que no hay\n\
+otras instancias del programa en ejecución con su directorio de usuario, haga clic en Aceptar para continuar.
+
+MSG_AlreadyRunningTitle=Advertencia
+
+MSG_CannotWrite=Una instancia del programa no puede acceder al directorio de usuario especificado.\n\
+Este es un problema grave que puede impedir que el programa funcione correctamente.\n\
+Asegúrese de que {0} sea escribible.\n\
+\n\
+Haga clic en Aceptar para continuar a pesar del error anterior.
+
+MSG_CannotWriteTitle=Advertencia
+
+EXC_not_a_module={0} no es un módulo válido de NetBeans.
+
+# {0} - nombres de módulos
+MSG_ENABLE_MISSING=No se puede habilitar {0}
+
+# bootstrap manifest
+OpenIDE-Module-Name=Inicio
+OpenIDE-Module-Display-Category=Infraestructura
+OpenIDE-Module-Short-Description=El núcleo de arranque de las aplicaciones basadas en NetBeans.
+OpenIDE-Module-Long-Description=\
+ Este módulo proporciona la infraestructura inicial \
+ que carga todas las demás partes de la aplicación. \
+ No se puede deshabilitar.
+
+MSG_InstallJava7=No se puede ejecutar en versiones anteriores a Java 7 Standard Edition.\n\
+ Por favor, instale Java 7 Standard Edition o posterior, o utilice la opción --jdkhome\n\
+ para indicar el directorio de instalación.
+
+MSG_NeedsJava7=Se requiere Java 7 Standard Edition o una versión más reciente
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle_ar.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle_ar.properties
deleted file mode 100644
index 0d29474338f..00000000000
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle_ar.properties
+++ /dev/null
@@ -1,478 +0,0 @@
-AinStatusDashboardTopComponent.exceptionMessage.failedToCreateDashboard=No se pudo crear el panel de estado del nodo de Auto Ingest.
-AinStatusNode.hostName.title=Nombre del Host
-AinStatusNode.status.pausedByUser=Pausado por el Usuario
-AinStatusNode.status.pausedForError=Pausado debido a un Error del Sistema
-AinStatusNode.status.pauseRequested=Solicitud de Pausa
-AinStatusNode.status.running=En Ejecucion
-AinStatusNode.status.shuttingdown=Apagando
-AinStatusNode.status.startingup=Iniciando
-AinStatusNode.status.title=Estado
-AinStatusNode.status.unknown=Desconocido
-AutoIngestAdminActions.cancelJobAction.title=Cancelar Trabajo
-AutoIngestAdminActions.cancelModuleAction.title=Cancelar Modulo
-AutoIngestAdminActions.disableOCR.error=Error al deshabilitar OCR para el caso "%s".
-AutoIngestAdminActions.disableOCR.title=Deshabilitar OCR para este caso
-AutoIngestAdminActions.enableOCR.error=Error al habilitar OCR para el caso "%s".
-AutoIngestAdminActions.enableOCR.title=Habilitar OCR para este caso
-AutoIngestAdminActions.getThreadDump.title=Generar Captura de Hilos
-AutoIngestAdminActions.pause.title=Pausar Nodo
-AutoIngestAdminActions.progressDialogAction.title=Progreso de Ingesta
-AutoIngestAdminActions.reprocessJobAction.error=Error al reprocesar el trabajo
-AutoIngestAdminActions.reprocessJobAction.title=Reprocesar Trabajo
-AutoIngestAdminActions.resume.title=Reanudar Nodo
-AutoIngestAdminActions.showCaseLogAction.title=Mostrar Registro del Caso
-AutoIngestAdminActions.showCaseLogActionDialog.cannotFindLog=No se puede encontrar el archivo de registro del caso seleccionado.
-AutoIngestAdminActions.showCaseLogActionDialog.ok=Aceptar
-AutoIngestAdminActions.showCaseLogActionDialog.unableToShowLogFile=No se puede mostrar el archivo de registro.
-AutoIngestAdminActions.showCaseLogActionFailed.message=El archivo de registro del caso no existe.
-AutoIngestAdminActions.showCaseLogActionFailed.title=No se puede mostrar el registro del caso
-AutoIngestAdminActions.shutdown.Cancel=Cancelar
-AutoIngestAdminActions.shutdown.consequences=Esto cancelara cualquier trabajo que este en ejecucion en este host. Salir mientras un trabajo esta en ejecucion puede dejar el caso en un estado inconsistente o daniado.
-AutoIngestAdminActions.shutdown.OK=Aceptar
-AutoIngestAdminActions.shutdown.title=Apagar Nodo
-AutoIngestControlPanel.AutoIngestStartupError=Error al iniciar la ingestion automatica. Verificar la configuracion de Multi-usuario.
-AutoIngestControlPanel.AutoIngestStartupFailed.Message=Error al iniciar la ingestion automatica.\nPor favor, consulte el registro del sistema de ingestion automatica para obtener mas detalles.
-AutoIngestControlPanel.AutoIngestStartupFailed.Title=Error de Ingestion Automatica
-AutoIngestControlPanel.AutoIngestStartupWarning.Message=Error al establecer comunicaciones remotas con otros nodos de ingestion automatica.\nEl panel de ingestion automatica solo podra mostrar eventos de trabajo de ingestion local.\nVerifique la configuracion de Multi-usuario (Opciones->Multi-usuario). Consulte el registro de la aplicacion para obtener mas detalles.
-AutoIngestControlPanel.AutoIngestStartupWarning.Title=Advertencia de Ingestion Automatica
-AutoIngestControlPanel.bnCancelJob.toolTipText=Cancelar procesamiento del trabajo actual y pasar al siguiente trabajo. Esta funcionalidad solo esta disponible para trabajos que se estan ejecutando en el nodo AIM actual.
-AutoIngestControlPanel.bnCancelModule.toolTipText=Cancelar procesamiento del modulo actual dentro del trabajo y pasar al siguiente modulo dentro del trabajo. Esta funcionalidad solo esta disponible para trabajos que se estan ejecutando en el nodo AIM actual.
-AutoIngestControlPanel.bnDeleteCase.toolTipText=Eliminar el caso seleccionado en su totalidad.
-AutoIngestControlPanel.bnExit.toolTipText=Salir de la aplicacion.
-AutoIngestControlPanel.bnOptions.toolTipText=Mostrar el panel de opciones. Todo el procesamiento debe estar pausado para abrir el panel de opciones.
-AutoIngestControlPanel.bnPause.confirmHeader=¿Esta seguro de que desea pausar?
-AutoIngestControlPanel.bnPause.paused=Pausado
-AutoIngestControlPanel.bnPause.pausing=Pausando despues de que se complete el trabajo actual...
-AutoIngestControlPanel.bnPause.running=Ejecutandose
-AutoIngestControlPanel.bnPause.toolTipText=Suspender el procesamiento de trabajos pendientes.
-AutoIngestControlPanel.bnPause.toolTipTextResume=Reanudar el procesamiento de trabajos pendientes.
-AutoIngestControlPanel.bnPause.warningText=La pausa ocurrira despues de que se complete el trabajo actual. Esto podria llevar mucho tiempo. ¿Desea continuar?
-AutoIngestControlPanel.bnRefresh.toolTipText=Actualizar las tablas mostradas.
-AutoIngestControlPanel.bnResume.text=Reanudar
-AutoIngestControlPanel.bnShowCaseLog.toolTipText=Mostrar el archivo de registro del caso seleccionado.
-AutoIngestControlPanel.bnShowProgress.toolTipText=Mostrar el progreso del trabajo actualmente en ejecucion. Esta funcionalidad solo esta disponible para trabajos que se estan ejecutando en el nodo AIM actual.
-AutoIngestControlPanel.bnStart.startMessage=Esperando para comenzar
-AutoIngestControlPanel.bnStart.text=Iniciar
-AutoIngestControlPanel.bnStart.toolTipText=Iniciar el procesamiento de trabajos de ingestion automatica.
-AutoIngestControlPanel.Cancel=Cancelar
-AutoIngestControlPanel.Cancelling=Cancelando...
-AutoIngestControlPanel.completedTable.toolTipText=La tabla Completados muestra todos los trabajos que ya han sido procesados.
-AutoIngestControlPanel.ConfigLocked=El directorio de configuracion compartido esta bloqueado porque hay una carga desde otro nodo en curso. \nSi esto es un error, puede desbloquear el directorio y luego volver a intentar la carga.
-AutoIngestControlPanel.ConfigLockedTitle=Directorio de Configuracion Bloqueado
-AutoIngestControlPanel.EnableConfigurationSettings=Habilitar la configuracion compartida desde el panel de opciones antes de cargar.
-AutoIngestControlPanel.errorMessage.caseDeprioritization=Se produjo un error al depriorizar el caso. Algunos o todos los trabajos pueden no haber sido depriorizados.
-AutoIngestControlPanel.errorMessage.casePrioritization=Se produjo un error al priorizar el caso. Algunos o todos los trabajos pueden no haber sido priorizados.
-AutoIngestControlPanel.errorMessage.jobDeprioritization=Se produjo un error al depriorizar el trabajo.
-AutoIngestControlPanel.errorMessage.jobPrioritization=Se produjo un error al priorizar el trabajo.
-AutoIngestControlPanel.ErrorUploadingConfiguration=Error al cargar la configuracion.
-AutoIngestControlPanel.ExitConsequences=Esto cancelara cualquier trabajo que este en ejecucion en este host. Salir mientras un trabajo esta en ejecucion puede dejar el caso en un estado inconsistente o daniado.
-AutoIngestControlPanel.ExitingStatus=Saliendo...
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.Case=Caso
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.CaseFolder=Carpeta del Caso
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.CompletedTime=Trabajo Completado
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.CreatedTime=Trabajo Creado
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.HostName=Nombre del Host
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.ImageFolder=Origen de Datos
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.LocalJob=\ ¿Trabajo Local?
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.ManifestFilePath=\ Ruta del Archivo de Manifiesto
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.OCR=OCR
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.Priority=Priorizado
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.Stage=Etapa
-# {0} - unitSeparator
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.StageTime=Tiempo en Etapa (dd{0}hh{0}mm{0}ss)
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.StartedTime=Inicio de Etapa
-AutoIngestControlPanel.JobsTableModel.ColumnHeader.Status=Estado
-AutoIngestControlPanel.OK=Aceptar
-AutoIngestControlPanel.PauseDueToCoordinationServiceDown=Pausado, no se puede comunicar con el servicio de coordinacion.
-AutoIngestControlPanel.PauseDueToDatabaseServiceDown=Pausado, no se puede comunicar con el servicio de base de datos del caso.
-AutoIngestControlPanel.PauseDueToFileExporterError=Pausado, no se pueden cargar las configuraciones del exportador de archivos.
-AutoIngestControlPanel.PauseDueToIngestJobStartFailure=Pausado, no se puede iniciar el procesamiento del trabajo de ingestion.
-AutoIngestControlPanel.PauseDueToKeywordSearchServiceDown=Pausado, no se puede comunicar con el servicio de busqueda de palabras clave.
-AutoIngestControlPanel.PauseDueToSharedConfigError=Pausado, no se puede actualizar la configuracion compartida.
-AutoIngestControlPanel.PauseDueToSystemError=Pausado debido a un error del sistema, consulte el registro del sistema de ingestion automatica.
-AutoIngestControlPanel.PauseDueToWriteStateFilesFailure=Pausado, no se puede escribir en la ubicacion compartida de imagenes o casos.
-AutoIngestControlPanel.pendingTable.toolTipText=La tabla Pendientes muestra el orden en que se procesaran los trabajos proximos, con los primeros en la parte superior de la lista.
-AutoIngestControlPanel.runningTable.toolTipText=La tabla en Ejecucion muestra el trabajo que se esta ejecutando actualmente y la informacion sobre el.
-AutoIngestControlPanel.SharedConfigurationDisabled=Configuracion compartida deshabilitada
-AutoIngestControlPanel.ShowLogFailed.Message=El archivo de registro del caso no existe.
-AutoIngestControlPanel.ShowLogFailed.Title=No se puede mostrar el registro del caso
-# {0} - case db status
-# {1} - search svc Status
-# {2} - coord svc Status
-# {3} - msg broker status
-AutoIngestControlPanel.tbServicesStatusMessage.Message=Base de datos del caso {0}, busqueda de palabras clave {1}, coordinacion {2}, mensajeria {3}
-AutoIngestControlPanel.tbServicesStatusMessage.Message.Down=desactivado
-AutoIngestControlPanel.tbServicesStatusMessage.Message.Unknown=desconocido
-AutoIngestControlPanel.tbServicesStatusMessage.Message.Up=activado
-AutoIngestControlPanel.UpdatingSharedConfig=Actualizando configuracion compartida
-AutoIngestControlPanel.UploadFailedTitle=Error
-AutoIngestControlPanel.UploadSuccess=Configuracion compartida cargada con exito
-AutoIngestControlPanel.UploadSuccessTitle=exito
-AutoIngestDashboard.completedTable.toolTipText=La tabla Completados muestra todos los trabajos que ya han sido procesados.
-AutoIngestDashboard.lbCompleted.text=Trabajos Completados
-AutoIngestDashboard.lbRunning.text=Trabajos en Ejecucion
-AutoIngestDashboard.lbPending.text=Trabajos Pendientes
-AutoIngestDashboard.JobsTableModel.ColumnHeader.Case=Nombre del Caso
-AutoIngestDashboard.JobsTableModel.ColumnHeader.ImageFolder=Origen de Datos
-AutoIngestDashboard.JobsTableModel.ColumnHeader.HostName=Nombre del Host
-AutoIngestDashboard.JobsTableModel.ColumnHeader.CreatedTime=Creacion del Trabajo
-AutoIngestDashboard.JobsTableModel.ColumnHeader.StartedTime=Inicio de Etapa
-AutoIngestDashboard.JobsTableModel.ColumnHeader.CompletedTime=Trabajo Completado
-AutoIngestDashboard.JobsTableModel.ColumnHeader.Stage=Etapa
-AutoIngestDashboard.JobsTableModel.ColumnHeader.Status=Estado
-AutoIngestDashboard.JobsTableModel.ColumnHeader.ManifestFilePath=Ruta del Archivo de Manifiesto
-AutoIngestDashboard.JobsTableModel.ColumnHeader.StageTime=Tiempo en Etapa
-AutoIngestDashboard.JobsTableModel.ColumnHeader.CaseFolder=Caso
-AutoIngestDashboard.JobsTableModel.ColumnHeader.Job=Trabajo
-AutoIngestDashboard.pendingTable.toolTipText=La tabla Pendientes muestra el orden en que se procesaran los proximos trabajos, con los primeros en la parte superior de la lista.
-AutoIngestDashboard.runningTable.toolTipText=La tabla en Ejecucion muestra el trabajo que se esta ejecutando actualmente y la informacion sobre el.
-AutoIngestDashboard.tbServicesStatusMessage.Message=Base de datos del caso {0}, busqueda de palabras clave {1}, coordinacion {2}, mensajeria {3}
-AutoIngestDashboard.tbServicesStatusMessage.Message.Up=activado
-AutoIngestDashboard.tbServicesStatusMessage.Message.Down=desactivado
-AutoIngestDashboard.tbServicesStatusMessage.Message.Unknown=desconocido
-AutoIngestDashboardTopComponent.exceptionMessage.failedToCreateDashboard=No se pudo crear el Panel de Control de Auto Ingestion.
-AutoIngestJobsNode.caseName.text=Nombre del Caso
-AutoIngestJobsNode.dataSource.text=Origen de Datos
-AutoIngestJobsNode.hostName.text=Nombre del Host
-AutoIngestJobsNode.jobCompleted.text=Trabajo Completado
-AutoIngestJobsNode.jobCreated.text=Creacion del Trabajo
-AutoIngestJobsNode.ocr.text=OCR
-AutoIngestJobsNode.prioritized.false=No
-AutoIngestJobsNode.prioritized.true=Si
-AutoIngestJobsNode.priority.text=Priorizado
-AutoIngestJobsNode.stage.text=Etapa
-# {0} - unitSeparator
-AutoIngestJobsNode.stageTime.text=Tiempo en Etapa (dd{0}hh{0}mm{0}ss)
-AutoIngestJobsNode.status.text=Estado
-AutoIngestJobsPanel.waitNode.text=Por favor, espere...
-AutoIngestMetricsDialog.initReportText=Seleccione una fecha arriba y haga clic en el boton 'Generar Informe de Metricas' para generar un informe de metricas.
-AutoIngestMetricsDialog.title.text=Metricas de Auto Ingestion
-ConfirmationDialog.DoNotDelete=No eliminar
-ConfirmationDialog.Delete=Eliminar permanentemente
-ConfirmationDialog.DeleteAreYouSure=Todo el caso sera eliminado. ¿Estas seguro de que quieres eliminar el caso
-ConfirmationDialog.ConfirmDeletion=¿Realmente deseas cancelar el trabajo de copia
-ConfirmationDialog.ConfirmDeletionHeader=Confirmar Eliminacion
-ConfirmationDialog.QuestionMark=?
-ConfirmationDialog.DoNotCancelModule=No Cancelar Modulo
-ConfirmationDialog.DoNotCancelJob=No Cancelar Trabajo
-ConfirmationDialog.DoNotCancel=No cancelar
-ConfirmationDialog.Cancel=Continuar con la cancelacion
-ConfirmationDialog.CancelJob=Cancelar Trabajo
-ConfirmationDialog.CancelModule=Cancelar Modulo
-ConfirmationDialog.CancelModuleAreYouSure=La ejecucion del modulo de ingestion que esta procesando el trabajo actual sera cancelada. ¿Estas seguro?
-ConfirmationDialog.CancelJobAreYouSure=El trabajo en ejecucion actual sera cancelado. ¿Estas seguro?
-ConfirmationDialog.ConfirmCancellationHeader=Confirmar Cancelacion
-ConfirmationDialog.Exit=Salir
-ConfirmationDialog.DoNotExit=No Salir
-ConfirmationDialog.ConfirmExit=Todos los trabajos de copia incompletos seran cancelados. ¿Estas seguro?
-ConfirmationDialog.ConfirmExitHeader=Confirmar Salida
-CTL_AinStatusDashboardAction=Nodos de Auto Ingestion
-CTL_AinStatusDashboardTopComponent=Nodos de Auto Ingestion
-CTL_AutoIngestDashboardAction=Trabajos de Auto Ingestion
-CTL_AutoIngestDashboardOpenAction=Panel de Control de Auto Ingestion
-CTL_AutoIngestDashboardTopComponent=Trabajos de Auto Ingestion
-CTL_CasesDashboardAction=Panel de Casos Multi-Usuario
-CTL_CasesDashboardTopComponent=Casos
-DeleteCaseAction.confirmationText=¿Estas seguro de que deseas eliminar lo siguiente para el(los) caso(s):\n\tNodos znodes del archivo de manifiesto\n\tBase de datos del caso\n\tArchivo core.properties\n\tDirectorio del caso\n\tCasos znodes
-DeleteCaseAction.menuItemText=Eliminar Caso(s)
-DeleteCaseAction.progressDisplayName=Eliminar Caso(s)
-DeleteCaseAction.taskName=app-input-and-output
-DeleteCaseInputAction.confirmationText=¿Estas seguro de que deseas eliminar lo siguiente para el(los) caso(s):\n\tArchivos del archivo de manifiesto\n\tOrigenes de datos\n
-DeleteCaseInputAction.menuItemText=Eliminar Entrada
-DeleteCaseInputAction.progressDisplayName=Eliminar Entrada
-DeleteCaseInputAction.taskName=input
-DeleteCaseInputAndOutputAction.confirmationText=¿Estas seguro de que deseas eliminar lo siguiente para el(los) caso(s):\n\tArchivos del archivo de manifiesto\n\tOrigenes de datos\n\tNodos znodes del archivo de manifiesto\n\tBase de datos del caso\n\tArchivo core.properties\n\tDirectorio del caso\n\tCasos znodes
-DeleteCaseInputAndOutputAction.menuItemText=Eliminar Entrada y Salida
-DeleteCaseInputAndOutputAction.progressDisplayName=Eliminar Entrada y Salida
-DeleteCaseInputAndOutputAction.taskName=input-and-output
-DeleteCaseOutputAction.confirmationText=¿Estas seguro de que deseas eliminar lo siguiente para el(los) caso(s):\n\tNodos znodes del archivo de manifiesto\n\tBase de datos del caso\n\tArchivo core.properties\n\tDirectorio del caso\n\tCasos znodes
-DeleteCaseOutputAction.menuItemText=Eliminar Salida
-DeleteCaseOutputAction.progressDisplayName=Eliminar Salida
-DeleteCaseOutputAction.taskName=output
-DeleteCaseTask.progress.acquiringCaseDirLock=Obteniendo el bloqueo exclusivo del directorio del caso...
-DeleteCaseTask.progress.acquiringCaseNameLock=Obteniendo el bloqueo exclusivo del nombre del caso...
-DeleteCaseTask.progress.acquiringManifestLocks=Obteniendo los bloqueos exclusivos de los archivos del manifiesto...
-DeleteCaseTask.progress.connectingToCoordSvc=Conectando al servicio de coordinacion...
-DeleteCaseTask.progress.deletingCaseDirCoordSvcNode=Eliminando nodo znode del directorio del caso...
-DeleteCaseTask.progress.deletingCaseNameCoordSvcNode=Eliminando nodo znode del nombre del caso...
-# {0} - data source path
-DeleteCaseTask.progress.deletingDataSource=Eliminando origen de datos {0}...
-DeleteCaseTask.progress.deletingJobLogLockNode=Eliminando nodo znode del registro de auto ingestion del caso...
-# {0} - ruta del archivo de manifiesto
-DeleteCaseTask.progress.deletingManifest=Eliminando archivo de manifiesto {0}...
-# {0} - ruta del archivo de manifiesto
-DeleteCaseTask.progress.deletingManifestFileNode=Eliminando el nodo znode del archivo de manifiesto para {0}...
-DeleteCaseTask.progress.deletingResourcesLockNode=Eliminando nodo znode de recursos del caso...
-DeleteCaseTask.progress.gettingManifestPaths=Obteniendo rutas de archivos de manifiesto...
-# {0} - ruta del archivo de manifiesto
-DeleteCaseTask.progress.lockingManifest=Bloqueando archivo de manifiesto {0}...
-DeleteCaseTask.progress.openingCaseDatabase=Abriendo la base de datos del caso...
-DeleteCaseTask.progress.openingCaseMetadataFile=Abriendo archivo de metadatos del caso...
-# {0} - ruta del archivo de manifiesto
-DeleteCaseTask.progress.parsingManifest=Analizando archivo de manifiesto {0}...
-# {0} - ruta del archivo de manifiesto
-DeleteCaseTask.progress.releasingManifestLock=Libreando el bloqueo en el archivo de manifiesto {0}...
-DeleteCaseTask.progress.startMessage=Iniciando eliminacion...
-DeleteOrphanCaseNodesAction.progressDisplayName=Limpiar Nodos Z del Caso
-# {0} - cantidad de elementos
-DeleteOrphanCaseNodesDialog.additionalInit.lblNodeCount.text=Znodes encontrados: {0}
-# {0} - cantidad de elementos
-DeleteOrphanCaseNodesDialog.additionalInit.znodesTextArea.countMessage=ZNODES ENCONTRADOS: {0}
-DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Conectando con el servicio de coordinacion
-# {0} - ruta del nodo
-DeleteOrphanCaseNodesTask.progress.deletingOrphanedCaseNode=Eliminando znode del caso huerfano {0}
-DeleteOrphanCaseNodesTask.progress.gettingCaseZnodes=Consultando el servicio de coordinacion para obtener los znodes del caso
-DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseZnodes=Buscando znodes del caso huerfanos
-DeleteOrphanCaseNodesTask.progress.startMessage=Iniciando limpieza de znodes del caso huerfanos
-DeleteOrphanManifestNodesAction.progressDisplayName=Limpiar Znodes de Archivos de Manifiesto
-DeleteOrphanManifestNodesTask.progress.connectingToCoordSvc=Conectando con el servicio de coordinacion
-# {0} - ruta del nodo
-DeleteOrphanManifestNodesTask.progress.deletingOrphanedManifestNode=Eliminando znode del archivo de manifiesto huerfano {0}
-DeleteOrphanManifestNodesTask.progress.gettingManifestNodes=Consultando el servicio de coordinacion para obtener los znodes de archivos de manifiesto
-DeleteOrphanManifestNodesTask.progress.lookingForOrphanedManifestFileZnodes=Buscando znodes de archivo de manifiesto huerfanos
-DeleteOrphanManifestNodesTask.progress.startMessage=Iniciando limpieza de znodes de archivos de manifiesto huerfanos
-HINT_CasesDashboardTopComponent=Este es un panel de control administrativo para casos multiusuario
-OcrIconCellRenderer.disabled.tooltiptext=Este trabajo no tiene OCR habilitado.
-OcrIconCellRenderer.enabled.tooltiptext=Este trabajo tiene OCR habilitado.
-OpenAutoIngestLogAction.deletedLogErrorMsg=El registro de auto ingestion del caso ha sido eliminado.
-OpenAutoIngestLogAction.logOpenFailedErrorMsg=Error al abrir el registro de auto ingestion del caso. Consulte el registro de la aplicacion para obtener mas detalles.
-OpenAutoIngestLogAction.menuItemText=Abrir archivo de registro de Auto Ingestion.
-# {0} - caseErrorMessage
-OpenCaseAction.errorMsg=Error al abrir el caso: {0}
-OpenCaseAction.menuItemText=Abrir
-OpenIDE-Module-Long-Description=Este modulo contiene caracteristicas que estan siendo desarrolladas por Basis Technology y no forman parte de la distribucion predeterminada de Autopsy. Puedes habilitar este modulo para utilizar las nuevas caracteristicas. Las caracteristicas deberian ser estables, pero su comportamiento exacto y API estan sujetos a cambios.\n\nNo ofrecemos garantia de que la API de este modulo no cambie, por lo que los desarrolladores deben tener cuidado al depender de ella.
-OpenIDE-Module-Name=Experimental
-OpenIDE-Module-Short-Description=Este modulo contiene caracteristicas que estan siendo desarrolladas por Basis Technology y no forman parte de la distribucion predeterminada de Autopsy.
-DisplayLogDialog.cannotOpenLog=No se puede abrir el archivo de registro de auto ingestion del caso seleccionado.
-DisplayLogDialog.cannotFindLog=No se puede encontrar el archivo de registro de auto ingestion del caso seleccionado.
-DisplayLogDialog.unableToShowLogFile=No se puede mostrar el archivo de registro.
-DisplayLogDialog.okay=Aceptar
-CopyFilesPanel.lbFrom.text=Desde Origen
-CopyFilesPanel.lbTo.text=Caso de Destino
-CopyFilesPanel.bnCopy.text=C&opiar
-CopyFilesPanel.bnCancel.text=C&ancelar
-CopyFilesPanel.lbStatus.text=Estado
-CopyFilesPanel.tbCaseName.text=
-CopyFilesPanel.tbSourceName.text=
-CopyFilesPanel.bnCaseName.text=Examinar
-CopyFilesPanel.bnSourceName.text=E&xaminar
-CopyFilesPanel.spRetryCount.toolTipText=Saltar este trabajo de copia y pasar al siguiente despues de fallar este numero de veces.
-CopyFilesPanel.rbExistingCase.text=
-CopyFilesPanel.rbNewCase.text=
-CopyFilesPanel.lbFailureText.text=fallos
-CopyFilesPanel.lpSkipAfterText.text=Saltar despues de
-CopyFilesPanel.lbExistingCase.text=Usar Caso Existente
-CopyFilesPanel.lbNewCase.text=Crear Nuevo Caso
-CopyFilesPanel.lbTitle.text=Programar Nuevo Trabajo de Copia
-CopyFilesPanel.confirmCancellation=¿Realmente deseas cancelar la operacion de copia?
-CopyFilesPanel.confirmCopyHeader=Confirmar Copia al Caso Existente
-CopyFilesPanel.confirmCopyAdd=ya existe. ¿Realmente deseas copiar mas archivos a este caso?
-CopyFilesPanel.confirmCopyYes=Copiar
-CopyFilesPanel.confirmCopyNo=No copiar
-CopyFilesPanel.lbScheduledJobs.text=Trabajos de Copia Programados
-CopyFilesPanel.lbRunningJob.text=Trabajo de Copia en Ejecucion
-CopyFilesPanel.lbCompletedJobs.text=Trabajos de Copia Completados
-CopyFilesPanel.Source=Origen
-CopyFilesPanel.Destination=Destino
-CopyFilesPanel.Initiated=Iniciado
-CopyFilesPanel.Started=Comenzado
-CopyFilesPanel.RunTime=Tiempo de Ejecucion
-CopyFilesPanel.Status=Estado
-CopyFilesPanel.tableCompletedJobs.toolTipText=Muestra los trabajos de copia completados y su estado
-CopyFilesPanel.toolTipText=Muestra el trabajo de copia en ejecucion actualmente.
-CopyFilesPanel.lbWait.text=Esperar
-CopyFilesPanel.lbWaitMinutesText.text=minutos antes de reintentar
-CopyFilesPanel.bnUp.text=
-CopyFilesPanel.bnDown.text=
-CopyFilesPanel.bnShowLog.text=&Mostrar Registro
-CopyFilesPanel.tablePendingJobs.toolTipText=Trabajos de copia programados en el orden en que se completaran, comenzando desde la parte superior.
-CopyFilesPanel.lbPendingJobs.text=Trabajos de Copia Programados
-CopyFilesPanel.chooseOrCreate=Por favor, elige o crea un caso
-CopyFilesPanel.invalidCasePath=Ruta de caso no valida
-CopyFilesPanel.empty=
-CopyFilesPanel.failedToDeleteSome=Error al eliminar algunos archivos en el trabajo cancelado
-CopyFilesPanel.noRunningJob=No hay trabajo de copia en ejecucion para cancelar
-CopyFilesPanel.destinationEmpty=El destino no puede estar dentro del origen
-CopyFilesPanel.copyAborted=Copia cancelada. No se realizo ninguna copia.
-CopyFilesPanel.copying=Copiando...
-CopyFilesPanel.copySuccess=Archivos copiados correctamente.
-CopyFilesPanel.errorCopying=Error al copiar.
-CopyFilesPanel.permissionDenied=Permiso denegado. Verifica los permisos en los directorios de origen y destino.
-CopyFilesPanel.retriesLeft=reintentos restantes. Esperando para volver a intentar.
-CopyFilesPanel.noRetriesLeft=Error al copiar. Todos los reintentos han sido utilizados. Se omitira.
-CopyFilesPanel.cancelled=Trabajo de copia en ejecucion cancelado
-CopyFilesPanel.deleteConfirmed=Trabajo de copia cancelado
-CopyFilesPanel.deleteNotConfirmed=Trabajo de copia no cancelado
-CopyFilesPanel.deleteUnable=No se puede cancelar el trabajo de copia
-CopyFilesPanel.unableToOpenLogfile=No se puede abrir el archivo de registro
-CopyFilesPanel.invalidSourcePath=Ruta de origen no valida
-CopyFilesPanel.lbScheduledJobs.text=Trabajos de Copia Programados (Espacio reservado)
-CopyFilesPanel.ConfirmCancellation=¿Realmente deseas cancelar la operacion de copia?
-CopyFilesPanel.ConfirmCopyHeader=Confirmar Copia al Caso Existente
-CopyFilesPanel.ConfirmCopyAdd=ya existe. ¿Realmente deseas copiar mas archivos a este caso?
-CopyFilesPanel.ConfirmCopyYes=Copiar
-CopyFilesPanel.ConfirmCopyNo=No copiar
-ConfirmationDialog.ConfirmUnlockHeader=Confirmar Desbloqueo de Caso
-CopyFilesPanel.bnCancelPendingJob.text=Ca&ncelar
-CopyFilesPanel.tbDestinationCase.text=
-CopyFilesPanel.cbThrottleNetwork.text=&Regular Red
-CopyFilesPanel.cbThrottleNetwork.toolTipText=Selecciona esta casilla si hay una conexion de red de baja velocidad involucrada en este trabajo de copia.
\nSeleccionar esta casilla limitara artificialmente la velocidad de transferencia mediante la insercion de retrasos estrategicos.
\nEsto ayuda a copiar archivos a traves de redes de baja velocidad donde la transferencia
\nfallaria de lo contrario. Solo seleccionalo si tienes problemas para copiar a traves de la red.
-CopyFilesPanel.bnShowCurrentLog.text=&Mostrar Registro
-CopyFilesPanel.bnShowCurrentLog.text=&Mostrar Registro
-CopyFilesPanel.lbCaseName.text=Nombre del Caso
-OptionsCategory_Name_Case_Import=Importacion de Caso
-OptionsCategory_Keywords_Case_Import=Configuracion de Importacion de Caso
-CaseImportPanel.validationErrMsg.MUdisabled=Las configuraciones de usuario multiple deben estar habilitadas y guardadas.
-CaseImportPanel.validationErrMsg.AIMdisabled=El cluster de autoingestion automatizada debe unirse en el modo de autoingestion automatizada.
-CaseImportPanel.ChooseCase=Elige un caso para importar
-CaseImportPanel.ChooseSource=Elige imagenes de origen
-CaseImportPanel.DatabaseConnected=Base de datos conectada
-CaseImportPanel.DatabaseNotConnected=Verifica la configuracion de la base de datos de usuario multiple.
-CaseImportPanel.ImportingCases=Importando caso(s)...
-CaseImportPanel.Cancelling=Cancelando
-CaseImportPanel.CannotOpenLog=No se puede abrir el archivo de registro
-CaseImportPanel.BadCaseSourceFolder=Nombre de carpeta de origen de caso incorrecto
-CaseImportPanel.BadCaseDestinationFolder=Nombre de carpeta de destino de caso incorrecto
-CaseImportPanel.BadImageSourceFolder=Nombre de carpeta de origen de imagen incorrecto
-CaseImportPanel.BadImageDestinationFolder=Nombre de carpeta de destino de imagen incorrecto
-CaseImportPanel.Error=Error
-CaseImportPanel.Complete=Completo
-CaseImportPanel.Blank=
-CaseImportPanel.DeleteWarning=Verifica que no haya archivos importantes en el directorio de origen del caso.
-PrioritizationAction.deprioritizeCaseAction.error=Error al depriorizar el caso "%s".
-PrioritizationAction.deprioritizeCaseAction.title=Depriorizar Caso
-PrioritizationAction.deprioritizeJobAction.error=Error al depriorizar el trabajo "%s".
-PrioritizationAction.deprioritizeJobAction.title=Depriorizar Trabajo
-PrioritizationAction.prioritizeCaseAction.error=Error al priorizar el caso "%s".
-PrioritizationAction.prioritizeCaseAction.title=Priorizar Caso
-PrioritizationAction.prioritizeJobAction.error=Error al priorizar el trabajo "%s".
-PrioritizationAction.prioritizeJobAction.title=Priorizar Trabajo
-PrioritizedIconCellRenderer.notPrioritized.tooltiptext=Este trabajo no ha sido priorizado.
-PrioritizedIconCellRenderer.prioritized.tooltiptext=Este trabajo ha sido priorizado. El trabajo prioritizado mas reciente deberia procesarse a continuacion.
-SingleUserCaseImporter.NonUniqueOutputFolder=La carpeta de destino no es unica. Saltando
-SingleUserCaseImporter.WillImport=Importara:
-SingleUserCaseImporter.None=Ninguno
-SingleUserCaseImporter.WillNotImport=No importara:
-SingleUserCaseImporter.ContinueWithImport=¿Continuar con la importacion?
-SingleUserCaseImporter.Cancelled=Cancelado
-SingleUserCaseImporter.ImportedAsMultiUser=\nEste caso se importo como un caso colaborativo de usuario multiple en
-SingleUserCaseImporter.StartingBatch=Iniciando procesamiento por lotes de
-SingleUserCaseImporter.to=a
-SingleUserCaseImporter.ErrorFindingAutFiles=Error al intentar encontrar archivos .aut para importar
-SingleUserCaseImporter.StartedProcessing=Comenzando procesamiento de
-SingleUserCaseImporter.FinishedProcessing=Finalizando procesamiento de
-SingleUserCaseImporter.FailedToComplete=Error al completar el procesamiento de
-SingleUserCaseImporter.CompletedBatch=Procesamiento por lotes de completado
-SingleUserCaseImporter.AbortingBatch=Abortando procesamiento por lotes de
-SingleUserCaseImporter.SourceImageMissing=. Falta la imagen de origen para
-CopyFilesPanel.bnOptions.text=&Opciones
-AutoIngestDashboard.lbServicesStatus.text=Estado de los Servicios:
-AutoIngestDashboard.tbServicesStatusMessage.text=Conectando...
-FileExporterSettingsPanel.ChooseRootDirectory=Elije un directorio raiz para la salida de archivos
-FileExporterSettingsPanel.ChooseReportDirectory=Elije un directorio para el informe
-FileExporterSettingsPanel.RuleName=Nombre de la Regla
-FileExporterSettingsPanel.RootDirectory=Directorio Raiz
-FileExporterSettingsPanel.ReportDirectory=Directorio de Informes
-FileExporterSettingsPanel.AttributeValue=Valor a comparar
-FileExporterSettingsPanel.RuleListTooltip=Muestra una lista de reglas.
-FileExporterSettingsPanel.RuleOutputTooltip=Esta es la carpeta de salida raiz para la salida guardada. Debes tener permisos de lectura y escritura para esta carpeta.
-FileExporterSettingsPanel.MimetypeTooltip=Selecciona el tipo MIME para comparar.
-FileExporterSettingsPanel.MimetypeText=Tipo MIME
-FileExporterSettingsPanel.MimetypeCheckboxTooltip=Selecciona esto para filtrar segun el tipo MIME.
-FileExporterSettingsPanel.FileSizeValueToolTip=Selecciona el valor para comparar.
-FileExporterSettingsPanel.FileSizeUnitToolTip=Selecciona las unidades del valor de tamanio de archivo.
-FileExporterSettingsPanel.FileSize=Tamanio de Archivo
-FileExporterSettingsPanel.FileSizeComparisonTooltip=Selecciona el operador de comparacion de tamanio de archivo.
-FileExporterSettingsPanel.MimeTypeComparisonTooltip=Selecciona el operador de comparacion de tipo MIME.
-FileExporterSettingsPanel.CurrentlySelectedRuleNameTooltip=Muestra el nombre de la regla seleccionada actualmente.
-FileExporterSettingsPanel.SaveText=Guardar Regla
-FileExporterSettingsPanel.SaveTooltip=Haz clic para guardar la regla. Debe haber un nombre de regla y al menos una condicion (casilla) habilitada.
-FileExporterSettingsPanel.BrowseText=Examinar
-FileExporterSettingsPanel.BrowseRootOutputFolder=Examinar para establecer la carpeta de salida de archivos.
-FileExporterSettingsPanel.NewText=Nueva Regla
-FileExporterSettingsPanel.NewRuleTooltip=Borra el editor de reglas, permitiendo al usuario ingresar una nueva regla.
-FileExporterSettingsPanel.BrowseReportTooltip=Examinar para establecer la carpeta de informes.
-FileExporterSettingsPanel.ReportOutputFolderTooltip=Esta es la carpeta de salida de informes. Debes tener permisos de lectura y escritura para esta carpeta.
-FileExporterSettingsPanel.DeleteText=Eliminar Regla
-FileExporterSettingsPanel.DeleteTooltip=Elimina la regla seleccionada.
-FileExporterSettingsPanel.UnsavedChangesLost=Los cambios no guardados de la regla se perderan. ¿Continuar?
-FileExporterSettingsPanel.ChangesWillBeLost=Se perderan los cambios no guardados.
-FileExporterSettingsPanel.DoYouWantToSave=¿Deseas guardar?
-FileExporterSettingsPanel.BadRootFolder=Se eligio una carpeta raiz incorrecta.
-FileExporterSettingsPanel.BadFolderForInterestingFileExport=Carpeta incorrecta para la exportacion de archivos.
-FileExporterSettingsPanel.BadReportFolder=Se eligio una carpeta de informes incorrecta.
-FileExporterSettingsPanel.ReallyDeleteRule=¿Realmente deseas eliminar la regla?
-FileExporterSettingsPanel.ReallyDeleteCondition=¿Realmente deseas eliminar la condicion?
-FileExporterSettingsPanel.QuestionMark=?
-FileExporterSettingsPanel.ConfirmRuleDeletion=Confirmar eliminacion de la regla
-FileExporterSettingsPanel.ConfirmClauseDeletion=Confirmar eliminacion de la clausula
-FileExporterSettingsPanel.Title=Generador de Reglas de Exportacion de Archivos
-FileExporterSettingsPanel.UnableToFindDirectory=No se puede encontrar el directorio.
-FileExporterSettingsPanel.PermissionsInvalid=Permisos de carpeta no validos. No se puede leer ni escribir.
-FileExporterSettingsPanel.RuleNotSaved=Regla con formato incorrecto. Regla no guardada.
-FileExporterSettingsPanel.MalformedRule=Regla con formato incorrecto.
-FileExporterSettingsPanel.FileSize_1=Selecciona para incluir el tamanio de archivo en la regla
-FileExporterSettingsPanel.MimetypeCheckboxTooltip_1=Selecciona para incluir el tipo MIME en la regla
-FileExporterSettingsPanel.MimeTypeComparisonTooltip_1=Selecciona el operador condicional
-FileExporterSettingsPanel.FileSizeComparisonTooltip_1=Selecciona el operador condicional
-FileExporterSettingsPanel.FileSizeValueToolTip_1=Selecciona el tamanio de archivo deseado
-FileExporterSettingsPanel.FileSizeUnitToolTip_1=Selecciona las unidades de tamanio de archivo deseadas
-FileExporterSettingsPanel.MimetypeTooltip_1=Selecciona el tipo MIME deseado
-FileExporterSettingsPanel.CurrentlySelectedRuleNameTooltip_1=El nombre de la regla
-FileExporterSettingsPanel.ReportOutputFolderTooltip_1=La carpeta Informes donde se escribe un informe JSON para cada archivo exportado.
-FileExporterSettingsPanel.RuleOutputTooltip_1=La carpeta Archivos donde se escribe cada archivo coincidente
-FileExporterSettingsPanel.BrowseRootOutputFolder_1=Examinar la carpeta Archivos
-FileExporterSettingsPanel.BrowseReportTooltip_1=Examinar la carpeta Informes
-FileExporterSettingsPanel.NewRuleTooltip_1=Borrar el editor de reglas para comenzar una nueva regla
-FileExporterSettingsPanel.DeleteTooltip_1=Eliminar la regla seleccionada
-FileExporterSettingsPanel.SaveTooltip_1=Guardar la regla actual
-AutoIngestDashboard.refreshButton.toolTipText=Actualizar tablas mostradas
-AutoIngestDashboard.refreshButton.text=&Actualizar
-AutoIngestDashboard.jButton1.text=jButton1
-AutoIngestMetricsDialog.reportTextArea.text=
-AutoIngestMetricsDialog.metricsButton.text=Generar Informe de Metricas
-AutoIngestMetricsDialog.closeButton.text=Cerrar
-AutoIngestMetricsDialog.datePicker.toolTipText=Elegir una fecha
-AutoIngestMetricsDialog.startingDataLabel.text=Fecha de Inicio:
-AutoIngestControlPanel.bnDeprioritizeCase.text=Despriorizar Caso
-AutoIngestControlPanel.bnDeprioritizeJob.text=Despriorizar Trabajo
-AutoIngestControlPanel.bnPrioritizeCase.text=Priorizar Caso
-AutoIngestControlPanel.bnPrioritizeJob.text=Priorizar Trabajo
-AutoIngestControlPanel.bnShowProgress.text=Progreso de Ingesta
-AutoIngestControlPanel.bnCancelJob.text=&Cancelar Trabajo
-AutoIngestControlPanel.bnCancelModule.text=Cancelar &Modulo
-AutoIngestControlPanel.bnReprocessJob.text=Reprocesar Trabajo
-AutoIngestControlPanel.bnShowCaseLog.text=Mostrar &Registro del Caso
-AutoIngestControlPanel.bnPause.text=Pausar
-AutoIngestControlPanel.bnRefresh.text=&Actualizar
-AutoIngestControlPanel.bnOptions.text=&Opciones
-AutoIngestControlPanel.bnOpenLogDir.text=Abrir Carpeta de Registros del Sistema
-AutoIngestControlPanel.bnClusterMetrics.text=Metricas de Auto Ingesta
-AutoIngestControlPanel.bnExit.text=&Salir
-AutoIngestControlPanel.lbStatus.text=Estado:
-AutoIngestControlPanel.lbServicesStatus.text=Estado de los Servicios:
-AutoIngestControlPanel.lbPending.text=Trabajos Pendientes
-AutoIngestControlPanel.lbRunning.text=Trabajos en Ejecucion
-AutoIngestControlPanel.lbCompleted.text=Trabajos Completados
-AutoIngestControlPanel.tbStatusMessage.text=
-AutoIngestControlPanel.tbServicesStatusMessage.text=
-AutoIngestControlPanel.bnDeprioritizeJob.toolTipText=
-AutoIngestControlPanel.bnDeprioritizeCase.toolTipText=
-AutoIngestControlPanel.bnPrioritizeJob.toolTipText=Mover esta carpeta al principio de la cola Pendiente.
-AutoIngestControlPanel.bnPrioritizeCase.toolTipText=Mover todas las imagenes asociadas con un caso al principio de la cola Pendiente.
-AutoIngestControlPanel.bnPrioritizeJob.actionCommand=Priorizar Trabajo
-AutoIngestControlPanel.bnDeprioritizeJob.actionCommand=Despriorizar Trabajo
-AinStatusDashboard.refreshButton.toolTipText=Actualizar tablas mostradas
-AinStatusDashboard.refreshButton.text=&Actualizar
-AinStatusDashboard.clusterMetricsButton.text=Metricas de Auto Ingesta
-AinStatusDashboard.nodeStatusTableTitle.text=Nodos de Auto Ingesta
-AinStatusDashboard.healthMonitorButton.text=Monitor de Salud
-CasesDashboardTopComponent.refreshButton.text=Actualizar
-AutoIngestCasesDeletionDialog.jLabel1.text=Progreso
-CasesDashboardTopComponent.deleteOrphanCaseNodesButton.text=Eliminar Nodos Huerfanos del Caso
-CasesDashboardTopComponent.deleteOrphanManifestNodesButton.text=Eliminar Nodos Huerfanos del Manifiesto
-DeleteOrphanCaseNodesDialog.descriptionText.text=Los siguientes casos tienen nodos huerfanos. ¿Desea eliminarlos?
-DeleteOrphanCaseNodesDialog.okButton.text=Aceptar
-DeleteOrphanCaseNodesDialog.cancelButton.text=Cancelar
-DeleteOrphanCaseNodesDialog.titleText.text=¿Eliminar los siguientes nodos?
-DeleteOrphanCaseNodesDialog.lblNodeCount.text=
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle_es.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle_es.properties
new file mode 100644
index 00000000000..927b31a215d
--- /dev/null
+++ b/Experimental/src/org/sleuthkit/autopsy/experimental/autoingest/Bundle_es.properties
@@ -0,0 +1,464 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AinStatusDashboardTopComponent.exceptionMessage.failedToCreateDashboard=No se pudo crear el panel de estado del nodo de ingesta autom\u00e1tica.
+AinStatusNode.hostName.title=Nombre del host
+AinStatusNode.status.pausedByUser=Pausado por el usuario
+AinStatusNode.status.pausedForError=Pausado debido a un error del sistema
+AinStatusNode.status.pauseRequested=Pausa solicitada
+AinStatusNode.status.running=En ejecuci\u00f3n
+AinStatusNode.status.shuttingdown=Apagando
+AinStatusNode.status.startingup=Iniciando
+AinStatusNode.status.title=Estado
+AinStatusNode.status.unknown=Desconocido
+AutoIngestAdminActions.cancelJobAction.title=Cancelar trabajo
+AutoIngestAdminActions.cancelModuleAction.title=Cancelar m\u00f3dulo
+AutoIngestAdminActions.disableOCR.error=No se pudo desactivar OCR para el caso "%s".
+AutoIngestAdminActions.disableOCR.title=Desactivar OCR para este caso
+AutoIngestAdminActions.enableOCR.error=No se pudo activar OCR para el caso "%s".
+AutoIngestAdminActions.enableOCR.title=Activar OCR para este caso
+AutoIngestAdminActions.getThreadDump.title=Generar volcado de hilos
+AutoIngestAdminActions.pause.title=Pausar nodo
+AutoIngestAdminActions.progressDialogAction.title=Progreso de ingesta
+AutoIngestAdminActions.reprocessJobAction.error=No se pudo reprocesar el trabajo
+AutoIngestAdminActions.reprocessJobAction.title=Reprocesar trabajo
+AutoIngestAdminActions.resume.title=Reanudar nodo
+AutoIngestAdminActions.showCaseLogAction.title=Mostrar registro del caso
+AutoIngestAdminActions.showCaseLogActionDialog.cannotFindLog=No se pudo encontrar el archivo de registro del caso seleccionado
+AutoIngestAdminActions.showCaseLogActionDialog.ok=Aceptar
+AutoIngestAdminActions.showCaseLogActionDialog.unableToShowLogFile=No se pudo mostrar el archivo de registro
+AutoIngestAdminActions.showCaseLogActionFailed.message=El archivo de registro del caso no existe
+AutoIngestAdminActions.showCaseLogActionFailed.title=No se pudo mostrar el registro del caso
+AutoIngestAdminActions.shutdown.Cancel=Cancelar
+AutoIngestAdminActions.shutdown.consequences=Esto cancelar\u00e1 cualquier trabajo en ejecuci\u00f3n en este host. Salir mientras un trabajo est\u00e1 en ejecuci\u00f3n podr\u00eda dejar el caso en un estado inconsistente o da\u00f1ado.
+AutoIngestAdminActions.shutdown.OK=Aceptar
+AutoIngestAdminActions.shutdown.title=Apagar nodo
+AutoIngestControlPanel.AutoIngestStartupError=No se pudo iniciar la ingesta automatizada. Verifique la configuraci\u00f3n multiusuario.
+AutoIngestControlPanel.AutoIngestStartupFailed.Message=No se pudo iniciar la ingesta automatizada.\nConsulte el registro del sistema de ingesta automatizada para obtener detalles.
+AutoIngestControlPanel.AutoIngestStartupFailed.Title=Error de ingesta automatizada
+AutoIngestControlPanel.AutoIngestStartupWarning.Message=No se pudo establecer comunicaci\u00f3n remota con otros nodos de ingesta automatizada.\nEl panel de ingesta autom\u00e1tica solo podr\u00e1 mostrar eventos de trabajos locales.\nVerifique la configuraci\u00f3n multiusuario (Opciones->Multiusuario). Consulte el registro de la aplicaci\u00f3n para obtener m\u00e1s detalles.
+AutoIngestControlPanel.AutoIngestStartupWarning.Title=Advertencia de ingesta automatizada
+AutoIngestControlPanel.bnCancelJob.toolTipText=Cancelar el procesamiento del trabajo actual y pasar al siguiente. Esta funci\u00f3n solo est\u00e1 disponible para trabajos que se ejecutan en el nodo AIM actual.
+AutoIngestControlPanel.bnCancelModule.toolTipText=Cancelar el procesamiento del m\u00f3dulo actual dentro del trabajo y pasar al siguiente m\u00f3dulo. Esta funci\u00f3n solo est\u00e1 disponible para trabajos en el nodo AIM actual.
+AutoIngestControlPanel.bnDeleteCase.toolTipText=Eliminar el caso seleccionado en su totalidad
+AutoIngestControlPanel.bnExit.toolTipText=Salir de la aplicaci\u00f3n
+AutoIngestControlPanel.bnOptions.toolTipText=Mostrar panel de opciones. Todo el procesamiento debe estar en pausa para abrir el panel de opciones.
+AutoIngestControlPanel.bnPause.confirmHeader=\u00bfEst\u00e1 seguro de que desea pausar?
+AutoIngestControlPanel.bnPause.paused=Pausado
+AutoIngestControlPanel.bnPause.pausing=Pausando despu\u00e9s de que termine el trabajo actual...
+AutoIngestControlPanel.bnPause.running=En ejecuci\u00f3n
+AutoIngestControlPanel.bnPause.toolTipText=Suspender el procesamiento de trabajos pendientes
+AutoIngestControlPanel.bnPause.toolTipTextResume=Reanudar el procesamiento de trabajos pendientes
+AutoIngestControlPanel.bnPause.warningText=La pausa ocurrir\u00e1 despu\u00e9s de que el trabajo actual termine. Esto podr\u00eda tardar mucho. \u00bfContinuar?
+AutoIngestControlPanel.bnRefresh.toolTipText=Actualizar tablas mostradas
+AutoIngestControlPanel.bnResume.text=Reanudar
+AutoIngestControlPanel.bnShowCaseLog.toolTipText=Mostrar archivo de registro del caso seleccionado
+AutoIngestControlPanel.bnShowProgress.toolTipText=Mostrar el progreso del trabajo actual. Esta funci\u00f3n solo est\u00e1 disponible para trabajos en el nodo AIM actual.
+AutoIngestControlPanel.bnStart.startMessage=Esperando para iniciar
+AutoIngestControlPanel.bnStart.text=Iniciar
+AutoIngestControlPanel.bnStart.toolTipText=Iniciar procesamiento de trabajos de ingesta autom\u00e1tica
+AutoIngestControlPanel.Cancel=Cancelar
+AutoIngestControlPanel.Cancelling=Cancelando...
+AutoIngestControlPanel.completedTable.toolTipText=La tabla Completado muestra todos los trabajos que ya han sido procesados
+AutoIngestControlPanel.ConfigLocked=El directorio de configuraci\u00f3n compartido est\u00e1 bloqueado porque se est\u00e1 cargando desde otro nodo. \nSi esto es un error, puede desbloquear el directorio y volver a intentar la carga.
+AutoIngestControlPanel.ConfigLockedTitle=Directorio de configuraci\u00f3n bloqueado
+AutoIngestControlPanel.EnableConfigurationSettings=Habilite la configuraci\u00f3n compartida desde el panel de opciones antes de cargar
+AutoIngestControlPanel.errorMessage.caseDeprioritization=Ocurri\u00f3 un error al despriorizar el caso. Algunos o todos los trabajos podr\u00edan no haber sido despriorizados.
+AutoIngestControlPanel.errorMessage.casePrioritization=Ocurri\u00f3 un error al priorizar el caso. Algunos o todos los trabajos podr\u00edan no haber sido priorizados.
+AutoIngestControlPanel.errorMessage.jobDeprioritization=Ocurri\u00f3 un error al despriorizar el trabajo.
+AutoIngestControlPanel.errorMessage.jobPrioritization=Ocurri\u00f3 un error al priorizar el trabajo.
+AutoIngestControlPanel.ErrorUploadingConfiguration=Error al cargar la configuraci\u00f3n
+AutoIngestControlPanel.ExitConsequences=Esto cancelar\u00e1 cualquier trabajo en ejecuci\u00f3n en este host. Salir mientras un trabajo est\u00e1 en ejecuci\u00f3n podr\u00eda dejar el caso en un estado inconsistente o da\u00f1ado.
+AutoIngestControlPanel.ExitingStatus=Saliendo...
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.Case=Caso
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.CaseFolder=Carpeta del caso
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.CompletedTime=Trabajo completado
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.CreatedTime=Trabajo creado
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.HostName=Nombre del host
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.ImageFolder=Fuente de datos
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.LocalJob=\ \u00bfTrabajo local?
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.ManifestFilePath=\ Ruta del archivo de manifiesto
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.OCR=OCR
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.Priority=Priorizado
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.Stage=Etapa
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.StageTime=Tiempo en etapa (dd{0}hh{0}mm{0}ss)
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.StartedTime=Etapa iniciada
+AutoIngestControlPanel.JobsTableModel.ColumnHeader.Status=Estado
+AutoIngestControlPanel.OK=Aceptar
+AutoIngestControlPanel.PauseDueToCoordinationServiceDown=Pausado, no se puede comunicar con el servicio de coordinaci\u00f3n.
+AutoIngestControlPanel.PauseDueToDatabaseServiceDown=Pausado, no se puede comunicar con el servicio de base de datos de casos.
+AutoIngestControlPanel.PauseDueToFileExporterError=Pausado, no se pueden cargar las configuraciones del exportador de archivos.
+AutoIngestControlPanel.PauseDueToIngestJobStartFailure=Pausado, no se puede iniciar el procesamiento del trabajo de ingesta.
+AutoIngestControlPanel.PauseDueToKeywordSearchServiceDown=Pausado, no se puede comunicar con el servicio de b\u00fasqueda por palabras clave.
+AutoIngestControlPanel.PauseDueToSharedConfigError=Pausado, no se puede actualizar la configuraci\u00f3n compartida.
+AutoIngestControlPanel.PauseDueToSystemError=Pausado debido a un error del sistema, por favor consulte el registro del sistema de ingesta autom\u00e1tica
+AutoIngestControlPanel.PauseDueToWriteStateFilesFailure=Pausado, no se puede escribir en la ubicaci\u00f3n compartida de im\u00e1genes o casos.
+AutoIngestControlPanel.pendingTable.toolTipText=La tabla de pendientes muestra el orden en que se procesar\u00e1n los trabajos, siendo el primero el que est\u00e1 arriba en la lista
+AutoIngestControlPanel.runningTable.toolTipText=La tabla en ejecuci\u00f3n muestra el trabajo actual en ejecuci\u00f3n y su informaci\u00f3n
+AutoIngestControlPanel.SharedConfigurationDisabled=Configuraci\u00f3n compartida deshabilitada
+AutoIngestControlPanel.ShowLogFailed.Message=El archivo de registro del caso no existe
+AutoIngestControlPanel.ShowLogFailed.Title=No se pudo mostrar el registro del caso
+# {0} - case db status
+# {1} - search svc Status
+# {2} - coord svc Status
+# {3} - msg broker status
+AutoIngestControlPanel.tbServicesStatusMessage.Message=Bases de datos de casos {0}, b\u00fasqueda por palabras clave {1}, coordinaci\u00f3n {2}, mensajer\u00eda {3}
+AutoIngestControlPanel.tbServicesStatusMessage.Message.Down=ca\u00eddo
+AutoIngestControlPanel.tbServicesStatusMessage.Message.Unknown=desconocido
+AutoIngestControlPanel.tbServicesStatusMessage.Message.Up=activo
+AutoIngestControlPanel.UpdatingSharedConfig=Actualizando configuraci\u00f3n compartida
+AutoIngestControlPanel.UploadFailedTitle=Error
+AutoIngestControlPanel.UploadSuccess=Configuraci\u00f3n compartida cargada exitosamente
+AutoIngestControlPanel.UploadSuccessTitle=\u00c9xito
+AutoIngestDashboard.completedTable.toolTipText=La tabla Completado muestra todos los trabajos que ya han sido procesados
+AutoIngestDashboard.lbCompleted.text=Trabajos completados
+AutoIngestDashboard.lbRunning.text=Trabajos en ejecuci\u00f3n
+AutoIngestDashboard.lbPending.text=Trabajos pendientes
+AutoIngestDashboard.JobsTableModel.ColumnHeader.Case=Caso
+AutoIngestDashboard.JobsTableModel.ColumnHeader.ImageFolder=Fuente de datos
+AutoIngestDashboard.JobsTableModel.ColumnHeader.HostName=Nombre del host
+AutoIngestDashboard.JobsTableModel.ColumnHeader.CreatedTime=Trabajo creado
+AutoIngestDashboard.JobsTableModel.ColumnHeader.StartedTime=Etapa iniciada
+AutoIngestDashboard.JobsTableModel.ColumnHeader.CompletedTime=Trabajo completado
+AutoIngestDashboard.JobsTableModel.ColumnHeader.Stage=Etapa
+AutoIngestDashboard.JobsTableModel.ColumnHeader.Status=Estado
+AutoIngestDashboard.JobsTableModel.ColumnHeader.ManifestFilePath=Ruta del archivo de manifiesto
+AutoIngestDashboard.JobsTableModel.ColumnHeader.StageTime=Tiempo en etapa
+AutoIngestDashboard.JobsTableModel.ColumnHeader.CaseFolder=Caso
+AutoIngestDashboard.JobsTableModel.ColumnHeader.Job=Trabajo
+AutoIngestDashboard.pendingTable.toolTipText=La tabla de pendientes muestra el orden en que se procesar\u00e1n los trabajos, siendo el primero el que est\u00e1 arriba en la lista
+AutoIngestDashboard.runningTable.toolTipText=La tabla en ejecuci\u00f3n muestra el trabajo actual en ejecuci\u00f3n y su informaci\u00f3n
+AutoIngestDashboard.tbServicesStatusMessage.Message=Bases de datos de casos {0}, b\u00fasqueda por palabras clave {1}, coordinaci\u00f3n {2}, mensajer\u00eda {3}
+AutoIngestDashboard.tbServicesStatusMessage.Message.Up=activo
+AutoIngestDashboard.tbServicesStatusMessage.Message.Down=ca\u00eddo
+AutoIngestDashboard.tbServicesStatusMessage.Message.Unknown=desconocido
+AutoIngestDashboardTopComponent.exceptionMessage.failedToCreateDashboard=No se pudo crear el panel de ingesta autom\u00e1tica.
+AutoIngestJobsNode.caseName.text=Nombre del caso
+AutoIngestJobsNode.dataSource.text=Fuente de datos
+AutoIngestJobsNode.hostName.text=Nombre del host
+AutoIngestJobsNode.jobCompleted.text=Trabajo completado
+AutoIngestJobsNode.jobCreated.text=Trabajo creado
+AutoIngestJobsNode.ocr.text=OCR
+AutoIngestJobsNode.prioritized.false=No
+AutoIngestJobsNode.prioritized.true=S\u00ed
+AutoIngestJobsNode.priority.text=Priorizado
+AutoIngestJobsNode.stage.text=Etapa
+AutoIngestJobsNode.stageTime.text=Tiempo en etapa (dd{0}hh{0}mm{0}ss)
+AutoIngestJobsNode.status.text=Estado
+AutoIngestJobsPanel.waitNode.text=Por favor espere...
+AutoIngestMetricsDialog.initReportText=Seleccione una fecha arriba y haga clic en el bot\u00f3n 'Generar informe de m\u00e9tricas' para generar\nun informe de m\u00e9tricas.
+AutoIngestMetricsDialog.title.text=M\u00e9tricas de ingesta autom\u00e1tica
+ConfirmationDialog.DoNotDelete=No eliminar
+ConfirmationDialog.Delete=Eliminar permanentemente
+ConfirmationDialog.DeleteAreYouSure=Todo el caso ser\u00e1 eliminado. \u00bfEst\u00e1 seguro de que desea eliminar el caso
+ConfirmationDialog.ConfirmDeletion=\u00bfRealmente desea cancelar el trabajo de copia
+ConfirmationDialog.ConfirmDeletionHeader=Confirmar eliminaci\u00f3n
+ConfirmationDialog.QuestionMark=\u00bf
+ConfirmationDialog.DoNotCancelModule=No cancelar m\u00f3dulo
+ConfirmationDialog.DoNotCancelJob=No cancelar trabajo
+ConfirmationDialog.DoNotCancel=No cancelar
+ConfirmationDialog.Cancel=Proceder con la cancelaci\u00f3n
+ConfirmationDialog.CancelJob=Cancelar trabajo
+ConfirmationDialog.CancelModule=Cancelar m\u00f3dulo
+ConfirmationDialog.CancelModuleAreYouSure=Se cancelar\u00e1 el an\u00e1lisis del m\u00f3dulo de ingesta que est\u00e1 procesando el trabajo actual. \u00bfEst\u00e1 seguro?
+ConfirmationDialog.CancelJobAreYouSure=El trabajo que se est\u00e1 ejecutando actualmente ser\u00e1 cancelado. \u00bfEst\u00e1 seguro?
+ConfirmationDialog.ConfirmCancellationHeader=Confirmar cancelaci\u00f3n
+ConfirmationDialog.Exit=Salir
+ConfirmationDialog.DoNotExit=No salir
+ConfirmationDialog.ConfirmExit=Todos los trabajos de copia incompletos ser\u00e1n cancelados. \u00bfEst\u00e1 seguro?
+ConfirmationDialog.ConfirmExitHeader=Confirmar salida
+CTL_AinStatusDashboardAction=Nodos de ingesta autom\u00e1tica
+CTL_AinStatusDashboardTopComponent=Nodos de ingesta autom\u00e1tica
+CTL_AutoIngestDashboardAction=Trabajos de ingesta autom\u00e1tica
+CTL_AutoIngestDashboardOpenAction=Panel de ingesta autom\u00e1tica
+CTL_AutoIngestDashboardTopComponent=Trabajos de ingesta autom\u00e1tica
+CTL_CasesDashboardAction=Panel de casos multiusuario
+CTL_CasesDashboardTopComponent=Casos
+DeleteCaseAction.confirmationText=\u00bfEst\u00e1 seguro de que desea eliminar lo siguiente para el/los caso(s):\n\tZnodes del archivo de manifiesto\n\tBase de datos del caso\n\tArchivo Core.properties\n\tDirectorio del caso\n\tZnodes del caso
+DeleteCaseAction.menuItemText=Eliminar caso(s)
+DeleteCaseAction.progressDisplayName=Eliminar caso(s)
+DeleteCaseAction.taskName=entrada-y-salida-de-la-aplicaci\u00f3n
+DeleteCaseInputAction.confirmationText=\u00bfEst\u00e1 seguro de que desea eliminar lo siguiente para el/los caso(s):\n\tArchivos de manifiesto\n\tFuentes de datos\n
+DeleteCaseInputAction.menuItemText=Eliminar entrada
+DeleteCaseInputAction.progressDisplayName=Eliminar entrada
+DeleteCaseInputAction.taskName=entrada
+DeleteCaseInputAndOutputAction.confirmationText=\u00bfEst\u00e1 seguro de que desea eliminar lo siguiente para el/los caso(s):\n\tArchivos de manifiesto\n\tFuentes de datos\n\tZnodes del archivo de manifiesto\n\tBase de datos del caso\n\tArchivo Core.properties\n\tDirectorio del caso\n\tZnodes del caso
+DeleteCaseInputAndOutputAction.menuItemText=Eliminar entrada y salida
+DeleteCaseInputAndOutputAction.progressDisplayName=Eliminar entrada y salida
+DeleteCaseInputAndOutputAction.taskName=entrada-y-salida
+DeleteCaseOutputAction.confirmationText=\u00bfEst\u00e1 seguro de que desea eliminar lo siguiente para el/los caso(s):\n\tZnodes del archivo de manifiesto\n\tBase de datos del caso\n\tArchivo Core.properties\n\tDirectorio del caso\n\tZnodes del caso
+DeleteCaseOutputAction.menuItemText=Eliminar salida
+DeleteCaseOutputAction.progressDisplayName=Eliminar salida
+DeleteCaseOutputAction.taskName=salida
+DeleteCaseTask.progress.acquiringCaseDirLock=Adquiriendo bloqueo exclusivo del directorio del caso...
+DeleteCaseTask.progress.acquiringCaseNameLock=Adquiriendo bloqueo exclusivo del nombre del caso...
+DeleteCaseTask.progress.acquiringManifestLocks=Adquiriendo bloqueos exclusivos de archivos de manifiesto...
+DeleteCaseTask.progress.connectingToCoordSvc=Conectando al servicio de coordinaci\u00f3n...
+DeleteCaseTask.progress.deletingCaseDirCoordSvcNode=Eliminando znode del directorio del caso...
+DeleteCaseTask.progress.deletingCaseNameCoordSvcNode=Eliminando znode del nombre del caso...
+DeleteCaseTask.progress.deletingDataSource=Eliminando fuente de datos {0}...
+DeleteCaseTask.progress.deletingJobLogLockNode=Eliminando znode del registro de ingesta autom\u00e1tica del caso...
+DeleteCaseTask.progress.deletingManifest=Eliminando archivo de manifiesto {0}...
+DeleteCaseTask.progress.deletingManifestFileNode=Eliminando el znode del archivo de manifiesto para {0}...
+DeleteCaseTask.progress.deletingResourcesLockNode=Eliminando znode de recursos del caso...
+DeleteCaseTask.progress.gettingManifestPaths=Obteniendo rutas de archivos de manifiesto...
+DeleteCaseTask.progress.lockingManifest=Bloqueando archivo de manifiesto {0}...
+DeleteCaseTask.progress.openingCaseDatabase=Abriendo la base de datos del caso...
+DeleteCaseTask.progress.openingCaseMetadataFile=Abriendo archivo de metadatos del caso...
+DeleteCaseTask.progress.parsingManifest=Analizando archivo de manifiesto {0}...
+DeleteCaseTask.progress.releasingManifestLock=Liberando bloqueo del archivo de manifiesto {0}...
+DeleteCaseTask.progress.startMessage=Iniciando eliminaci\u00f3n...
+DeleteOrphanCaseNodesAction.progressDisplayName=Limpiar Znodes del caso
+DeleteOrphanCaseNodesDialog.additionalInit.lblNodeCount.text=Znodes encontrados: {0}
+DeleteOrphanCaseNodesDialog.additionalInit.znodesTextArea.countMessage=ZNODES ENCONTRADOS: {0}
+DeleteOrphanCaseNodesTask.progress.connectingToCoordSvc=Conectando al servicio de coordinaci\u00f3n
+DeleteOrphanCaseNodesTask.progress.deletingOrphanedCaseNode=Eliminando znode hu\u00e9rfano del caso {0}
+DeleteOrphanCaseNodesTask.progress.gettingCaseZnodes=Consultando al servicio de coordinaci\u00f3n por znodes del caso
+DeleteOrphanCaseNodesTask.progress.lookingForOrphanedCaseZnodes=Buscando znodes hu\u00e9rfanos del caso
+DeleteOrphanCaseNodesTask.progress.startMessage=Iniciando limpieza de znodes hu\u00e9rfanos del caso
+DeleteOrphanManifestNodesAction.progressDisplayName=Limpiar Znodes de archivos de manifiesto
+DeleteOrphanManifestNodesTask.progress.connectingToCoordSvc=Conectando al servicio de coordinaci\u00f3n
+DeleteOrphanManifestNodesTask.progress.deletingOrphanedManifestNode=Eliminando znode hu\u00e9rfano del archivo de manifiesto {0}
+DeleteOrphanManifestNodesTask.progress.gettingManifestNodes=Consultando al servicio de coordinaci\u00f3n por znodes de archivos de manifiesto
+DeleteOrphanManifestNodesTask.progress.lookingForOrphanedManifestFileZnodes=Buscando znodes hu\u00e9rfanos de archivos de manifiesto
+DeleteOrphanManifestNodesTask.progress.startMessage=Iniciando limpieza de znodes hu\u00e9rfanos de archivos de manifiesto
+HINT_CasesDashboardTopComponent=Este es un panel administrativo para casos multiusuario
+OcrIconCellRenderer.disabled.tooltiptext=Este trabajo no tiene OCR habilitado.
+OcrIconCellRenderer.enabled.tooltiptext=Este trabajo tiene OCR habilitado.
+OpenAutoIngestLogAction.deletedLogErrorMsg=El registro de ingesta autom\u00e1tica del caso ha sido eliminado.
+OpenAutoIngestLogAction.logOpenFailedErrorMsg=No se pudo abrir el registro de ingesta autom\u00e1tica del caso. Consulte el registro de la aplicaci\u00f3n para obtener detalles.
+OpenAutoIngestLogAction.menuItemText=Abrir archivo de registro de ingesta autom\u00e1tica
+OpenCaseAction.errorMsg=No se pudo abrir el caso: {0}
+OpenCaseAction.menuItemText=Abrir
+OpenIDE-Module-Long-Description=Este m\u00f3dulo contiene funciones que est\u00e1n siendo desarrolladas por Basis Technology y no forman parte de la distribuci\u00f3n predeterminada de Autopsy. Puede habilitar este m\u00f3dulo para usar las nuevas funciones. Las funciones deber\u00edan ser estables, pero su comportamiento exacto y su API est\u00e1n sujetas a cambios.\n\nNo garantizamos que la API de este m\u00f3dulo no cambiar\u00e1, por lo que los desarrolladores deben tener precauci\u00f3n al depender de ella.
+OpenIDE-Module-Name=Experimental
+OpenIDE-Module-Short-Description=Este m\u00f3dulo contiene funciones que est\u00e1n siendo desarrolladas por Basis Technology y no forman parte de la distribuci\u00f3n predeterminada de Autopsy.
+DisplayLogDialog.cannotOpenLog=No se pudo abrir el archivo de registro del caso seleccionado
+DisplayLogDialog.cannotFindLog=No se pudo encontrar el archivo de registro del caso seleccionado
+DisplayLogDialog.unableToShowLogFile=No se pudo mostrar el archivo de registro
+DisplayLogDialog.okay=Aceptar
+CopyFilesPanel.lbFrom.text=Desde la fuente
+CopyFilesPanel.lbTo.text=Caso de destino
+CopyFilesPanel.bnCopy.text=&Copiar
+CopyFilesPanel.bnCancel.text=C&ancelar
+CopyFilesPanel.lbStatus.text=Estado
+CopyFilesPanel.bnCaseName.text=E&xaminar
+CopyFilesPanel.bnSourceName.text=&Examinar
+CopyFilesPanel.spRetryCount.toolTipText=Omitir este trabajo de copia y pasar al siguiente despu\u00e9s de fallar este n\u00famero de veces.
+CopyFilesPanel.lbFailureText.text=fallos
+CopyFilesPanel.lpSkipAfterText.text=Omitir despu\u00e9s de
+CopyFilesPanel.lbExistingCase.text=Usar caso existente
+CopyFilesPanel.lbNewCase.text=Crear nuevo caso
+CopyFilesPanel.lbTitle.text=Programar nuevo trabajo de copia
+CopyFilesPanel.confirmCancellation=\u00bfRealmente desea cancelar la operaci\u00f3n de copia?
+CopyFilesPanel.confirmCopyHeader=Confirmar copia a caso existente
+CopyFilesPanel.confirmCopyAdd=existe. \u00bfRealmente desea copiar m\u00e1s archivos a este caso?
+CopyFilesPanel.confirmCopyYes=Copiar
+CopyFilesPanel.confirmCopyNo=No copiar
+CopyFilesPanel.lbScheduledJobs.text=Trabajos de copia programados
+CopyFilesPanel.lbRunningJob.text=Trabajo de copia en ejecuci\u00f3n
+CopyFilesPanel.lbCompletedJobs.text=Trabajos de copia completados
+CopyFilesPanel.Source=Fuente
+CopyFilesPanel.Destination=Destino
+CopyFilesPanel.Initiated=Iniciado
+CopyFilesPanel.Started=Comenzado
+CopyFilesPanel.RunTime=Tiempo de ejecuci\u00f3n
+CopyFilesPanel.Status=Estado
+CopyFilesPanel.tableCompletedJobs.toolTipText=Muestra los trabajos de copia completados y su estado
+CopyFilesPanel.toolTipText=Muestra el trabajo de copia que se est\u00e1 ejecutando actualmente.
+CopyFilesPanel.lbWait.text=Esperar
+CopyFilesPanel.lbWaitMinutesText.text=minutos antes de volver a intentar
+CopyFilesPanel.bnShowLog.text=&Mostrar registro
+CopyFilesPanel.tablePendingJobs.toolTipText=Trabajos de copia programados en el orden en que se completar\u00e1n, comenzando desde arriba.
+CopyFilesPanel.lbPendingJobs.text=Trabajos de copia programados
+CopyFilesPanel.chooseOrCreate=Por favor, elija o cree un caso
+CopyFilesPanel.invalidCasePath=Ruta del caso no v\u00e1lida
+CopyFilesPanel.empty=
+CopyFilesPanel.failedToDeleteSome=No se pudieron eliminar algunos archivos del trabajo cancelado
+CopyFilesPanel.noRunningJob=No hay trabajo de copia en ejecuci\u00f3n para cancelar
+CopyFilesPanel.destinationEmpty=El destino no puede estar dentro de la fuente
+CopyFilesPanel.copyAborted=Copia abortada. No se realiz\u00f3 ninguna copia.
+CopyFilesPanel.copying=Copiando...
+CopyFilesPanel.copySuccess=Archivos copiados exitosamente.
+CopyFilesPanel.errorCopying=Error al copiar.
+CopyFilesPanel.permissionDenied=Permiso denegado. Verifique los permisos en los directorios de origen y destino.
+CopyFilesPanel.retriesLeft=reintentos restantes. Esperando para reintentar.
+CopyFilesPanel.noRetriesLeft=Error al copiar. Todos los reintentos utilizados. Omitiendo.
+CopyFilesPanel.cancelled=Trabajo de copia en ejecuci\u00f3n cancelado
+CopyFilesPanel.deleteConfirmed=Trabajo de copia cancelado
+CopyFilesPanel.deleteNotConfirmed=Trabajo de copia no cancelado
+CopyFilesPanel.deleteUnable=No se pudo cancelar el trabajo de copia
+CopyFilesPanel.unableToOpenLogfile=No se pudo abrir el archivo de registro
+CopyFilesPanel.invalidSourcePath=Ruta de origen no v\u00e1lida
+CopyFilesPanel.lbScheduledJobs.text=Trabajos de copia programados (marcador de posici\u00f3n)
+CopyFilesPanel.ConfirmCancellation=\u00bfRealmente desea cancelar la operaci\u00f3n de copia?
+CopyFilesPanel.ConfirmCopyHeader=Confirmar copia a caso existente
+CopyFilesPanel.ConfirmCopyAdd=existe. \u00bfRealmente desea copiar m\u00e1s archivos a este caso?
+CopyFilesPanel.ConfirmCopyYes=Copiar
+CopyFilesPanel.ConfirmCopyNo=No copiar
+ConfirmationDialog.ConfirmUnlockHeader=Confirmar desbloqueo del caso
+CopyFilesPanel.bnCancelPendingJob.text=Ca&ncelar
+CopyFilesPanel.cbThrottleNetwork.text=&Limitar red
+CopyFilesPanel.cbThrottleNetwork.toolTipText=Seleccione esta casilla si en este trabajo de copia est\u00e1 involucrada una conexi\u00f3n de red de bajo ancho de banda.
\nSeleccionar esta casilla limitar\u00e1 artificialmente la velocidad de transferencia insertando retardos estrat\u00e9gicos.
\nEsto ayuda a copiar archivos a trav\u00e9s de redes de bajo ancho de banda donde la transferencia
\nde otro modo fallar\u00eda. Seleccione esta opci\u00f3n solo si tiene problemas al copiar por la red.
+CopyFilesPanel.bnShowCurrentLog.text=Mostrar ®istro
+CopyFilesPanel.lbCaseName.text=Nombre del caso
+OptionsCategory_Name_Case_Import=Importaci\u00f3n de caso
+OptionsCategory_Keywords_Case_Import=Configuraci\u00f3n de importaci\u00f3n de caso
+CaseImportPanel.validationErrMsg.MUdisabled=La configuraci\u00f3n multiusuario debe estar habilitada y guardada
+CaseImportPanel.validationErrMsg.AIMdisabled=Debe unirse al cl\u00faster de ingesta automatizada en modo de ingesta automatizada
+CaseImportPanel.ChooseCase=Elija un caso para importar
+CaseImportPanel.ChooseSource=Elija im\u00e1genes de origen
+CaseImportPanel.DatabaseConnected=Base de datos conectada
+CaseImportPanel.DatabaseNotConnected=Verifique la configuraci\u00f3n de la base de datos multiusuario.
+CaseImportPanel.ImportingCases=Importando caso(s)...
+CaseImportPanel.Cancelling=Cancelando
+CaseImportPanel.CannotOpenLog=No se pudo abrir el archivo de registro
+CaseImportPanel.BadCaseSourceFolder=Nombre de carpeta de origen del caso no v\u00e1lido
+CaseImportPanel.BadCaseDestinationFolder=Nombre de carpeta de destino del caso no v\u00e1lido
+CaseImportPanel.BadImageSourceFolder=Nombre de carpeta de imagen de origen no v\u00e1lido
+CaseImportPanel.BadImageDestinationFolder=Nombre de carpeta de imagen de destino no v\u00e1lido
+CaseImportPanel.Error=Error
+CaseImportPanel.Complete=Completado
+CaseImportPanel.Blank=
+CaseImportPanel.DeleteWarning=Aseg\u00farese de que no haya archivos importantes en el directorio de origen del caso
+PrioritizationAction.deprioritizeCaseAction.error=No se pudo despriorizar el caso "%s".
+PrioritizationAction.deprioritizeCaseAction.title=Despriorizar caso
+PrioritizationAction.deprioritizeJobAction.error=No se pudo despriorizar el trabajo "%s".
+PrioritizationAction.deprioritizeJobAction.title=Despriorizar trabajo
+PrioritizationAction.prioritizeCaseAction.error=No se pudo priorizar el caso "%s".
+PrioritizationAction.prioritizeCaseAction.title=Priorizar caso
+PrioritizationAction.prioritizeJobAction.error=No se pudo priorizar el trabajo "%s".
+PrioritizationAction.prioritizeJobAction.title=Priorizar trabajo
+PrioritizedIconCellRenderer.notPrioritized.tooltiptext=Este trabajo no ha sido priorizado.
+PrioritizedIconCellRenderer.prioritized.tooltiptext=Este trabajo ha sido priorizado. El trabajo priorizado m\u00e1s reciente deber\u00eda procesarse a continuaci\u00f3n.
+SingleUserCaseImporter.NonUniqueOutputFolder=La carpeta de salida no es \u00fanica. Omitiendo
+SingleUserCaseImporter.WillImport=Se importar\u00e1:
+SingleUserCaseImporter.None=Ninguno
+SingleUserCaseImporter.WillNotImport=No se importar\u00e1:
+SingleUserCaseImporter.ContinueWithImport=\u00bfContinuar con la importaci\u00f3n?
+SingleUserCaseImporter.Cancelled=Cancelado
+SingleUserCaseImporter.ImportedAsMultiUser=\nEste caso fue importado como un caso colaborativo multiusuario en
+SingleUserCaseImporter.StartingBatch=Iniciando procesamiento por lotes de
+SingleUserCaseImporter.to=a
+SingleUserCaseImporter.ErrorFindingAutFiles=Error al intentar encontrar archivos .aut para importar
+SingleUserCaseImporter.StartedProcessing=Procesamiento iniciado para
+SingleUserCaseImporter.FinishedProcessing=Procesamiento finalizado
+SingleUserCaseImporter.FailedToComplete=Error al completar el procesamiento de
+SingleUserCaseImporter.CompletedBatch=Procesamiento por lotes completado de
+SingleUserCaseImporter.AbortingBatch=Abortando procesamiento por lotes de
+SingleUserCaseImporter.SourceImageMissing=. Imagen de origen faltante para
+CopyFilesPanel.bnOptions.text=&Opciones
+AutoIngestDashboard.lbServicesStatus.text=Estado de los servicios:
+AutoIngestDashboard.tbServicesStatusMessage.text=Conectando...
+FileExporterSettingsPanel.ChooseRootDirectory=Elija un directorio ra\u00edz para la salida de archivos
+FileExporterSettingsPanel.ChooseReportDirectory=Elija un directorio de informes
+FileExporterSettingsPanel.RuleName=Nombre de la regla
+FileExporterSettingsPanel.RootDirectory=Directorio ra\u00edz
+FileExporterSettingsPanel.ReportDirectory=Directorio de informes
+FileExporterSettingsPanel.AttributeValue=Valor con el que comparar
+FileExporterSettingsPanel.RuleListTooltip=Muestra una lista de reglas.
+FileExporterSettingsPanel.RuleOutputTooltip=Esta es la carpeta ra\u00edz de salida para los archivos guardados. Debe tener acceso de lectura y escritura a esta carpeta.
+FileExporterSettingsPanel.MimetypeTooltip=Seleccione el tipo MIME con el que comparar.
+FileExporterSettingsPanel.MimetypeText=Tipo MIME
+FileExporterSettingsPanel.MimetypeCheckboxTooltip=Marque esto para filtrar por tipo MIME.
+FileExporterSettingsPanel.FileSizeValueToolTip=Seleccione el valor con el que comparar.
+FileExporterSettingsPanel.FileSizeUnitToolTip=Seleccione las unidades del valor del tama\u00f1o de archivo.
+FileExporterSettingsPanel.FileSize=Tama\u00f1o de archivo
+FileExporterSettingsPanel.FileSizeComparisonTooltip=Seleccione el operador de comparaci\u00f3n de tama\u00f1o de archivo.
+FileExporterSettingsPanel.MimeTypeComparisonTooltip=Seleccione el operador de comparaci\u00f3n de tipo MIME.
+FileExporterSettingsPanel.CurrentlySelectedRuleNameTooltip=Muestra el nombre de la regla seleccionada actualmente.
+FileExporterSettingsPanel.SaveText=Guardar regla
+FileExporterSettingsPanel.SaveTooltip=Haga clic para guardar la regla. Debe haber un nombre de regla y al menos una condici\u00f3n (casilla) activada.
+FileExporterSettingsPanel.BrowseText=Examinar
+FileExporterSettingsPanel.BrowseRootOutputFolder=Examinar para establecer la carpeta ra\u00edz de salida.
+FileExporterSettingsPanel.NewText=Nueva regla
+FileExporterSettingsPanel.NewRuleTooltip=Limpia el editor de reglas, permitiendo al usuario ingresar una nueva regla.
+FileExporterSettingsPanel.BrowseReportTooltip=Examinar para establecer la carpeta de salida del informe.
+FileExporterSettingsPanel.ReportOutputFolderTooltip=Esta es la carpeta de salida del informe. Debe tener acceso de lectura y escritura a esta carpeta.
+FileExporterSettingsPanel.DeleteText=Eliminar regla
+FileExporterSettingsPanel.DeleteTooltip=Elimina la regla seleccionada.
+FileExporterSettingsPanel.UnsavedChangesLost=Los cambios no guardados en la regla se perder\u00e1n. \u00bfContinuar?
+FileExporterSettingsPanel.ChangesWillBeLost=Los cambios no guardados se perder\u00e1n.
+FileExporterSettingsPanel.DoYouWantToSave=\u00bfDesea guardar?
+FileExporterSettingsPanel.BadRootFolder=Carpeta ra\u00edz no v\u00e1lida seleccionada.
+FileExporterSettingsPanel.BadFolderForInterestingFileExport=Carpeta no v\u00e1lida para la exportaci\u00f3n de archivos
+FileExporterSettingsPanel.BadReportFolder=Carpeta de informe no v\u00e1lida seleccionada.
+FileExporterSettingsPanel.ReallyDeleteRule=\u00bfRealmente desea eliminar la regla?
+FileExporterSettingsPanel.ReallyDeleteCondition=\u00bfRealmente desea eliminar la condici\u00f3n?
+FileExporterSettingsPanel.QuestionMark=\u00bf
+FileExporterSettingsPanel.ConfirmRuleDeletion=Confirmar eliminaci\u00f3n de regla
+FileExporterSettingsPanel.ConfirmClauseDeletion=Confirmar eliminaci\u00f3n de condici\u00f3n
+FileExporterSettingsPanel.Title=Generador de reglas de exportaci\u00f3n de archivos
+FileExporterSettingsPanel.UnableToFindDirectory=No se pudo encontrar el directorio.
+FileExporterSettingsPanel.PermissionsInvalid=Permisos de carpeta no v\u00e1lidos. No se puede leer ni escribir.
+FileExporterSettingsPanel.RuleNotSaved=Regla malformada. Regla no guardada.
+FileExporterSettingsPanel.MalformedRule=Regla malformada.
+FileExporterSettingsPanel.FileSize_1=Seleccione para incluir el tama\u00f1o de archivo en la regla
+FileExporterSettingsPanel.MimetypeCheckboxTooltip_1=Seleccione para incluir el tipo MIME en la regla
+FileExporterSettingsPanel.MimeTypeComparisonTooltip_1=Seleccione el operador condicional
+FileExporterSettingsPanel.FileSizeComparisonTooltip_1=Seleccione el operador condicional
+FileExporterSettingsPanel.FileSizeValueToolTip_1=Seleccione el tama\u00f1o de archivo deseado
+FileExporterSettingsPanel.FileSizeUnitToolTip_1=Seleccione las unidades del tama\u00f1o de archivo deseado
+FileExporterSettingsPanel.MimetypeTooltip_1=Seleccione el tipo MIME deseado
+FileExporterSettingsPanel.CurrentlySelectedRuleNameTooltip_1=El nombre de la regla
+FileExporterSettingsPanel.ReportOutputFolderTooltip_1=La carpeta de informes donde se escribe un informe JSON para cada archivo exportado.
+FileExporterSettingsPanel.RuleOutputTooltip_1=La carpeta de archivos donde se escribe cada archivo coincidente
+FileExporterSettingsPanel.BrowseRootOutputFolder_1=Examinar para seleccionar la carpeta de archivos
+FileExporterSettingsPanel.BrowseReportTooltip_1=Examinar para seleccionar la carpeta de informes
+FileExporterSettingsPanel.NewRuleTooltip_1=Limpiar el editor de reglas para comenzar una nueva regla
+FileExporterSettingsPanel.DeleteTooltip_1=Eliminar la regla seleccionada
+FileExporterSettingsPanel.SaveTooltip_1=Guardar la regla actual
+AutoIngestDashboard.refreshButton.toolTipText=Actualizar las tablas mostradas
+AutoIngestDashboard.refreshButton.text=&Actualizar
+AutoIngestDashboard.jButton1.text=jButton1
+AutoIngestMetricsDialog.reportTextArea.text=
+AutoIngestMetricsDialog.metricsButton.text=Generar informe de m\u00e9tricas
+AutoIngestMetricsDialog.closeButton.text=Cerrar
+AutoIngestMetricsDialog.datePicker.toolTipText=Elija una fecha
+AutoIngestMetricsDialog.startingDataLabel.text=Fecha de inicio:
+AutoIngestControlPanel.bnDeprioritizeCase.text=Despriorizar caso
+AutoIngestControlPanel.bnDeprioritizeJob.text=Despriorizar trabajo
+AutoIngestControlPanel.bnPrioritizeCase.text=Priorizar caso
+AutoIngestControlPanel.bnPrioritizeJob.text=Priorizar trabajo
+AutoIngestControlPanel.bnShowProgress.text=Progreso de ingesta
+AutoIngestControlPanel.bnCancelJob.text=&Cancelar trabajo
+AutoIngestControlPanel.bnCancelModule.text=Cancelar &M\u00f3dulo
+AutoIngestControlPanel.bnReprocessJob.text=Reprocesar trabajo
+AutoIngestControlPanel.bnShowCaseLog.text=Mostrar ®istro del caso
+AutoIngestControlPanel.bnPause.text=Pausar
+AutoIngestControlPanel.bnRefresh.text=&Actualizar
+AutoIngestControlPanel.bnOptions.text=&Opciones
+AutoIngestControlPanel.bnOpenLogDir.text=Abrir carpeta de registros del sistema
+AutoIngestControlPanel.bnClusterMetrics.text=M\u00e9tricas de ingesta autom\u00e1tica
+AutoIngestControlPanel.bnExit.text=&Salir
+AutoIngestControlPanel.lbStatus.text=Estado:
+AutoIngestControlPanel.lbServicesStatus.text=Estado de los servicios:
+AutoIngestControlPanel.lbPending.text=Trabajos pendientes
+AutoIngestControlPanel.lbRunning.text=Trabajos en ejecuci\u00f3n
+AutoIngestControlPanel.lbCompleted.text=Trabajos completados
+AutoIngestControlPanel.tbStatusMessage.text=
+AutoIngestControlPanel.tbServicesStatusMessage.text=
+AutoIngestControlPanel.bnDeprioritizeJob.toolTipText=
+AutoIngestControlPanel.bnDeprioritizeCase.toolTipText=
+AutoIngestControlPanel.bnPrioritizeJob.toolTipText=Mover esta carpeta al principio de la cola de pendientes.
+AutoIngestControlPanel.bnPrioritizeCase.toolTipText=Mover todas las im\u00e1genes asociadas con un caso al principio de la cola de pendientes.
+AutoIngestControlPanel.bnPrioritizeJob.actionCommand=Priorizar trabajo
+AutoIngestControlPanel.bnDeprioritizeJob.actionCommand=Despriorizar trabajo
+AinStatusDashboard.refreshButton.toolTipText=Actualizar las tablas mostradas
+AinStatusDashboard.refreshButton.text=&Actualizar
+AinStatusDashboard.clusterMetricsButton.text=M\u00e9tricas de ingesta &autom\u00e1tica
+AinStatusDashboard.nodeStatusTableTitle.text=Nodos de ingesta autom\u00e1tica
+AinStatusDashboard.healthMonitorButton.text=Monitor de salud
+CasesDashboardTopComponent.refreshButton.text=Actualizar
+AutoIngestCasesDeletionDialog.jLabel1.text=Progreso
+CasesDashboardTopComponent.deleteOrphanCaseNodesButton.text=Eliminar znodes hu\u00e9rfanos de casos
+CasesDashboardTopComponent.deleteOrphanManifestNodesButton.text=Eliminar znodes hu\u00e9rfanos de manifiestos
+DeleteOrphanCaseNodesDialog.descriptionText.text=Los siguientes casos tienen znodes hu\u00e9rfanos. \u00bfDesea eliminarlos?
+DeleteOrphanCaseNodesDialog.okButton.text=Aceptar
+DeleteOrphanCaseNodesDialog.cancelButton.text=Cancelar
+DeleteOrphanCaseNodesDialog.titleText.text=\u00bfEliminar los siguientes znodes?
+DeleteOrphanCaseNodesDialog.lblNodeCount.text=
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/Bundle_ar.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/Bundle_ar.properties
deleted file mode 100644
index cb5193f0b0e..00000000000
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/Bundle_ar.properties
+++ /dev/null
@@ -1,178 +0,0 @@
-AdvancedAutoIngestSettingsPanel.AccessibleContext.accessibleName=
-AdvancedAutoIngestSettingsPanel.ItemDisabled.text=Elemento desactivado segun el modo actual de Autopsy.
-AdvancedAutoIngestSettingsPanel.jPanelFolderMaintenanceSettings.border.title=Configuracion de mantenimiento de carpetas
-AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText=Limite suave en el numero de trabajos concurrentes por caso cuando se procesan varios casos simultaneamente.
-AdvancedAutoIngestSettingsPanel.lbInputScanInterval.AccessibleContext.accessibleDescription=El intervalo
-AdvancedAutoIngestSettingsPanel.lbInputScanInterval.toolTipText=El intervalo entre exploraciones para nuevos archivos de manifiesto.
-AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes1.AccessibleContext.accessibleName=minutos
-AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes1.text=minutos
-AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.toolTipText=El numero de hilos que ejecutan modulos de ingestion a nivel de archivo.
-AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText=El numero maximo de reintentos para trabajos fallidos.
-AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobs.toolTipText=Un tiempo de espera utilizado por los nodos de ingestion automatica para asegurar la sincronizacion adecuada de las operaciones del nodo.
-AdvancedAutoIngestSettingsPanel.tbWarning.text=ADVERTENCIA: Asegurese de saber lo que esta haciendo antes de modificar estos valores. El uso informado puede mejorar el rendimiento del sistema. El uso incorrecto puede causar una degradacion del rendimiento del sistema y perdida de datos. Consulte la guia del usuario para obtener mas detalles.
-AdvancedAutoIngestSettingsPanel.threadCountLabel.text=Para esta computadora, se deben utilizar como maximo {0} hilos de ingestion de archivos.
-AIMIngestSettingsPanel.browseGlobalSettingsButton.text=Buscar
-AIMIngestSettingsPanel.globalSettingsErrorTextField.text=
-AIMIngestSettingsPanel.globalSettingsTextField.text=
-AIMIngestSettingsPanel.jButton1.text=Descargar configuraciones compartidas
-AIMIngestSettingsPanel.jButtonEditIngestSettings.text=Configuracion del modulo de ingestion
-AIMIngestSettingsPanel.jButtonEditIngestSettings.toolTipText=Configuracion de trabajos de ingestion para el modo de procesamiento automatizado.
-AIMIngestSettingsPanel.jLabel1.text=Descargar la configuracion compartida actual (altamente recomendado hacerlo antes de editar)
-AIMIngestSettingsPanel.lbSecondsBetweenJobs.text=Numero de segundos de espera entre trabajos:
-AIMIngestSettingsPanel.lbSecondsBetweenJobs.toolTipText=Aumente este valor si los bloqueos de la base de datos causan problemas. Esto proporciona un poco mas de tiempo para finalizar.
-AIMIngestSettingsPanel.spSecondsBetweenJobs.toolTipText=Aumente este valor si los bloqueos de la base de datos causan problemas. Esto proporciona un poco mas de tiempo para finalizar.
-AutoIngestSettingsPanel.examinerModeRadioButton.text=Modo examinador
-AutoIngestSettingsPanel.autoIngestModeRadioButton.text=Modo de ingestion automatica
-AutoIngestSettingsPanel.AdvancedAutoIngestSettingsPanel.Title=Configuraciones avanzadas
-AutoIngestSettingsPanel.browseGlobalSettingsButton.text=Buscar
-AutoIngestSettingsPanel.CannotAccess=No se puede acceder
-AutoIngestSettingsPanel.EmptySettingsDirectory=Ingrese la ruta al directorio de configuracion
-AutoIngestSettingsPanel.ErrorSettingDefaultFolder=Error al crear la carpeta predeterminada
-AutoIngestSettingsPanel.FileExportRules.text=Reglas de exportacion de archivos
-AutoIngestSettingsPanel.globalSettingsErrorTextField.text=
-AutoIngestSettingsPanel.globalSettingsTextField.text=
-AutoIngestSettingsPanel.ImageDirectoryUnspecified=Debe configurarse la carpeta de imagenes compartidas
-AutoIngestSettingsPanel.InvalidPortNumber=Numero de puerto no valido.
-AutoIngestSettingsPanel.jRadioButtonCopyFiles.text=Modo de copia de archivos
-AutoIngestSettingsPanel.KeywordSearchNull=No se puede encontrar el servicio de busqueda de palabras clave
-AutoIngestSettingsPanel.MustRestart=Es necesario reiniciar la aplicacion para que la nueva configuracion surta efecto
-AutoIngestSettingsPanel.nodePanel.TabConstraints.tabTitle=Configuracion del nodo
-AutoIngestSettingsPanel.NodeStatusLogging.text=Configuracion de registro del estado del nodo
-AutoIngestSettingsPanel.restartRequiredLabel.text=Se requiere reiniciar la aplicacion para que surta efecto.
-AutoIngestSettingsPanel.ResultsDirectoryUnspecified=Debe configurarse la carpeta de casos compartidos
-AutoIngestSettingsPanel.tbOops.text=
-AutoIngestSettingsPanel.validationErrMsg.incomplete=Rellene todos los valores
-AutoIngestSettingsPanel.validationErrMsg.invalidDatabasePort=Numero de puerto de base de datos no valido
-AutoIngestSettingsPanel.validationErrMsg.invalidIndexingServerPort=Numero de puerto de servidor Solr no valido
-AutoIngestSettingsPanel.validationErrMsg.invalidMessageServicePort=Numero de puerto de servicio de mensajes no valido
-AutoIngestSettingsPanel.validationErrMsg.MUdisabled=Las configuraciones de multiples usuarios deben estar habilitadas y guardadas
-AutoIngestSettingsPanel.bnTestMultiUser.text=Probar
-AutoIngestSettingsPanel.lbTestMultiUserText.text=Probar configuraciones de creacion de casos e ingestion multiusuario
-AutoIngestSettingsPanel.lbMultiUserResult.text=
-AutoIngestSettingsPanel.lbTestResultText.text=
-AutoIngestSettingsPanel.validationErrMsg.outputPathNotSpecified=Debe configurarse la carpeta de salida
-AutoIngestSettingsPanel.PathInvalid=La ruta del directorio de salida del caso no es valida
-AutoIngestSettingsPanel.CheckPermissions=Asegurese de que la cuenta de usuario {0} tenga permisos de escritura en esta carpeta
-AutoIngestSettingsPanel.Success=exito
-AutoIngestSettingsPanel.TestRunning=Prueba en progreso...
-AutoIngestSettingsPanel.servicesDown=Algunos de los servicios multiusuario estan inactivos
-DayOfTheWeekRenderer_Friday_Label=Viernes
-DayOfTheWeekRenderer_Monday_Label=Lunes
-DayOfTheWeekRenderer_Saturday_Label=Sabado
-DayOfTheWeekRenderer_Sunday_Label=Domingo
-DayOfTheWeekRenderer_Thursday_Label=Jueves
-DayOfTheWeekRenderer_Tuesday_Label=Martes
-DayOfTheWeekRenderer_Wednesday_Label=Miercoles
-GeneralOptionsPanelController.moduleErr.msg=Un modulo ha generado un error al escuchar actualizaciones de GeneralOptionsPanelController. Consulte el registro para determinar que modulo es. Algunos datos podrian estar incompletos.
-GeneralOptionsPanelController.moduleErr=Error de modulo
-# {0} - errorMessage
-MultiUserTestTool.criticalError=Error critico al ejecutar el procesador de fuente de datos en la fuente de datos de prueba: {0}
-MultiUserTestTool.errorStartingIngestJob=Error del gestor de ingestion al iniciar el trabajo de ingestion
-# {0} - cancellationReason
-MultiUserTestTool.ingestCancelled=Ingestion cancelada debido a {0}
-MultiUserTestTool.ingestSettingsError=Error al analizar la fuente de datos debido a errores de configuracion de ingestion
-MultiUserTestTool.noContent=La fuente de datos de prueba no produjo contenido
-# {0} - serviceName
-MultiUserTestTool.serviceDown=El servicio multiusuario esta inactivo: {0}
-MultiUserTestTool.startupError=Error al analizar la fuente de datos debido a un error de inicio del trabajo de ingestion
-MultiUserTestTool.unableAddFileAsDataSource=No se puede agregar el archivo de prueba como fuente de datos para el caso
-MultiUserTestTool.unableCreatFile=No se puede crear un archivo en el directorio de salida del caso
-# {0} - serviceName
-MultiUserTestTool.unableToCheckService=No se puede verificar el estado del servicio multiusuario: {0}
-MultiUserTestTool.unableToCreateCase=No se puede crear el caso
-MultiUserTestTool.unableToInitializeDatabase=No se inicializo correctamente la base de datos del caso
-MultiUserTestTool.unableToInitializeFilTypeDetector=No se puede inicializar el detector de tipo de archivo
-MultiUserTestTool.unableToReadDatabase=No se puede leer de la base de datos del caso
-MultiUserTestTool.unableToReadTestFileFromDatabase=No se puede leer la informacion del archivo de prueba de la base de datos del caso
-MultiUserTestTool.unableToRunIngest=No se puede ejecutar la ingestion en la fuente de datos de prueba
-MultiUserTestTool.unableToUpdateKWSIndex=No se puede escribir en el indice de busqueda de palabras clave
-MultiUserTestTool.unexpectedError=Error inesperado al realizar la prueba multiusuario
-NodeStatusLogPanel.bnCancel.text=Cancelar
-NodeStatusLogPanel.bnOk.text=Aceptar
-NodeStatusLogPanel.bnTestDatabase.text=Probar
-NodeStatusLogPanel.cbEnableLogging.text=Habilitar registro en la base de datos
-NodeStatusLogPanel.lbDatabaseSettings.text=Configuracion de la base de datos
-NodeStatusLogPanel.lbTestDatabase.text=
-NodeStatusLogPanel.lbTestDbWarning.text=
-NodeStatusLogPanel.lbTestDbWarning.text=
-NodeStatusLogPanel.tbDbHostname.text=
-NodeStatusLogPanel.tbDbHostname.toolTipText=Nombre de host o direccion IP
-NodeStatusLogPanel.tbDbName.text=
-NodeStatusLogPanel.tbDbName.toolTipText=Nombre de la base de datos
-NodeStatusLogPanel.tbDbPassword.text=
-NodeStatusLogPanel.tbDbPassword.toolTipText=Contrasenia
-NodeStatusLogPanel.tbDbPort.text=
-NodeStatusLogPanel.tbDbPort.toolTipText=Numero de puerto
-NodeStatusLogPanel.tbDbUsername.text=
-NodeStatusLogPanel.tbDbUsername.toolTipText=Nombre de usuario
-OpenOptionsPanelAction.name=Opciones de ingestion automatica
-OptionsCategory_Keywords_Auto_Ingest_Settings=Configuracion de ingestion automatica
-OptionsCategory_Keywords_General=Opciones
-OptionsCategory_Name_Auto_Ingest=Ingestion automatica
-OptionsDialog.jButton1.text=jButton1
-OptionsDialog.jCheckBox1.text=jCheckBox1
-OptionsDialog.jLabel1.text=jLabel1
-StartupWindow.AutoIngestMode=Nodo de ingestion automatica
-StartupWindow.CaseImportMode=Importacion de caso de un solo usuario
-StartupWindow.CopyAndImportMode=Utilidades
-StartupWindow.title.text=Bienvenido
-AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes.text=minutos
-AdvancedAutoIngestSettingsPanel.lbTimeoutHours.text=hora(s)
-AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobsSeconds.text=segundos
-AdvancedAutoIngestSettingsPanel.spSecondsBetweenJobs.toolTipText=Aumente este valor si los bloqueos de la base de datos causan problemas. Esto proporciona un poco mas de tiempo para finalizar.
-AdvancedAutoIngestSettingsPanel.spTimeoutHours.toolTipText=Los componentes que generan procesos potencialmente largos terminan opcionalmente esos procesos si ha transcurrido el periodo de tiempo especificado.
-AdvancedAutoIngestSettingsPanel.spInputScanInterval.toolTipText=Aumente este valor para reducir la frecuencia del escaneo de entrada.
-AdvancedAutoIngestSettingsPanel.spMaximumRetryAttempts.AccessibleContext.accessibleDescription=Numero maximo de reintentos permitidos en el modo de ingestion automatizada
-AdvancedAutoIngestSettingsPanel.spMaximumRetryAttempts.toolTipText=El numero maximo de veces que la ingestion automatica intentara reprocesar un trabajo si la ejecucion falla.
-AdvancedAutoIngestSettingsPanel.lbRestartRequired.text=Se requiere reiniciar la aplicacion para que surta efecto.
-AdvancedAutoIngestSettingsPanel.cbTimeoutEnabled.toolTipText=Los componentes que generan procesos potencialmente largos terminan opcionalmente esos procesos si ha transcurrido el periodo de tiempo especificado.
-AdvancedAutoIngestSettingsPanel.cbTimeoutEnabled.text=
-AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.text=Objetivo de trabajos concurrentes por caso:
-AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.text=Numero de hilos a utilizar para la ingestion de archivos:
-AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.text=Intentos maximos permitidos para trabajos:
-AdvancedAutoIngestSettingsPanel.lbInputScanInterval.text=Intervalo entre exploraciones de entrada:
-AdvancedAutoIngestSettingsPanel.lbTimeoutText.text=Tiempo de espera de procesos externos:
-AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobs.text=Tiempo de espera de sincronizacion del sistema:
-AdvancedAutoIngestSettingsPanel.jPanelAutoIngestJobSettings.border.title=Configuracion de trabajos de ingestion automatizada
-AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobs.toolTipText_1=Aumente este valor si los bloqueos de la base de datos causan problemas. Esto proporciona un poco mas de tiempo para finalizar.
-AdvancedAutoIngestSettingsPanel.lbTimeoutText.toolTipText=Los componentes que generan procesos potencialmente largos terminan opcionalmente esos procesos si ha transcurrido el periodo de tiempo especificado.
-AdvancedAutoIngestSettingsPanel.lbInputScanInterval.toolTipText_1=Aumente este valor para reducir la frecuencia del escaneo de entrada.
-AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes.toolTipText=
-AdvancedAutoIngestSettingsPanel.lbTimeoutHours.toolTipText=
-AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText_1=El numero maximo de reintentos para trabajos que fallaron.
-AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText_2=El numero maximo de reintentos para trabajos que fallaron.
-AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText_1=Limite suave en el numero de trabajos concurrentes por caso cuando se procesan varios casos simultaneamente.
-AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.toolTipText_1=El numero de hilos que ejecutan modulos de ingestion a nivel de archivo.
-AdvancedAutoIngestSettingsPanel.numberOfFileIngestThreadsComboBox.toolTipText=El numero de hilos que ejecutan modulos de ingestion a nivel de archivo.
-NodeStatusLogPanel.tbDbName.toolTipText_1=Nombre de la base de datos
-AutoIngestSettingsPanel.sharedSettingsTextField.text=
-AutoIngestSettingsPanel.sharedConfigCheckbox.text=Usar configuracion compartida en la carpeta:
-AutoIngestSettingsPanel.configButtonErrorTextField.text=configButtonErrorTextField
-AutoIngestSettingsPanel.jLabelTaskDescription.text=jLabel1
-AutoIngestSettingsPanel.jLabelCurrentTask.text=Tarea actual:
-AutoIngestSettingsPanel.downloadButton.text=Descargar configuracion
-AutoIngestSettingsPanel.uploadButton.text=Guardar y subir configuracion
-AutoIngestSettingsPanel.masterNodeCheckBox.text=Usar este nodo como nodo maestro que puede subir configuraciones
-AutoIngestSettingsPanel.sharedSettingsErrorTextField.text=globalSettingsErrorTextField
-AutoIngestSettingsPanel.browseSharedSettingsButton.text=Buscar
-AutoIngestSettingsPanel.jLabelInvalidResultsFolder.text=jLabelInvalidResultsFolder
-AutoIngestSettingsPanel.jLabelInvalidImageFolder.text=jLabelInvalidImageFolder
-AutoIngestSettingsPanel.browseOutputFolderButton.text=Buscar
-AutoIngestSettingsPanel.outputPathTextField.toolTipText=Carpeta de casos compartidos para el procesamiento automatizado, es decir, la ubicacion donde el modo de procesamiento automatizado creara la carpeta del caso para presentarla al usuario en modo examinador.
-AutoIngestSettingsPanel.outputPathTextField.text=
-AutoIngestSettingsPanel.jLabelSelectOutputFolder.text=Seleccionar carpeta de casos compartidos:
-AutoIngestSettingsPanel.browseInputFolderButton.text=Buscar
-AutoIngestSettingsPanel.inputPathTextField.toolTipText=Carpeta de entrada para el procesamiento automatizado, es decir, la ubicacion donde se crearan las carpetas de caso de entrada para la ingestion mediante el modo de procesamiento automatizado.
-AutoIngestSettingsPanel.inputPathTextField.text=
-AutoIngestSettingsPanel.jLabelSelectInputFolder.text=Seleccionar carpeta de imagenes compartidas:
-AutoIngestSettingsPanel.bnFileExport.text=Configuracion de exportacion de archivos
-AutoIngestSettingsPanel.bnAdvancedSettings.text=Configuraciones avanzadas
-AutoIngestSettingsPanel.bnEditIngestSettings.toolTipText=Configuracion de trabajos de ingestion para el contexto del modo de procesamiento automatizado.
-AutoIngestSettingsPanel.bnEditIngestSettings.text=Configuracion del modulo de ingestion
-AdvancedAutoIngestSettingsPanel.pausePanel.border.title=Configuracion de pausa de ingestion automatizada
-AdvancedAutoIngestSettingsPanel.lbpauseDay.text=Dia de la semana:
-AdvancedAutoIngestSettingsPanel.lbPauseTime.text=Hora de inicio:
-AdvancedAutoIngestSettingsPanel.lbPauseDuration.text=Duracion:
-AdvancedAutoIngestSettingsPanel.lbColon.text=:
-AdvancedAutoIngestSettingsPanel.cbEnablePause.text=Habilitar pausa
-AdvancedAutoIngestSettingsPanel.lbDurationHours.text=horas
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/Bundle_es.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/Bundle_es.properties
new file mode 100644
index 00000000000..8c5918bd4ba
--- /dev/null
+++ b/Experimental/src/org/sleuthkit/autopsy/experimental/configuration/Bundle_es.properties
@@ -0,0 +1,170 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AdvancedAutoIngestSettingsPanel.AccessibleContext.accessibleName=
+AdvancedAutoIngestSettingsPanel.ItemDisabled.text=Elemento deshabilitado seg\u00fan el modo actual de Autopsy.
+AdvancedAutoIngestSettingsPanel.jPanelFolderMaintenanceSettings.border.title=Configuraci\u00f3n de mantenimiento de carpetas
+AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText=Un l\u00edmite flexible en el n\u00famero de trabajos simult\u00e1neos por caso cuando se procesan m\u00faltiples casos al mismo tiempo.
+AdvancedAutoIngestSettingsPanel.lbInputScanInterval.AccessibleContext.accessibleDescription=El intervalo
+AdvancedAutoIngestSettingsPanel.lbInputScanInterval.toolTipText=El intervalo entre escaneos para nuevos archivos de manifiesto.
+AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes1.AccessibleContext.accessibleName=minutos
+AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes1.text=minutos
+AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.toolTipText=El n\u00famero de hilos que ejecutan m\u00f3dulos de ingesta a nivel de archivo.
+AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText=El n\u00famero m\u00e1ximo de reintentos para trabajos que fallaron.
+AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobs.toolTipText=Un tiempo de espera utilizado por los nodos de ingesta autom\u00e1tica para garantizar una sincronizaci\u00f3n adecuada de las operaciones del nodo.
+AdvancedAutoIngestSettingsPanel.tbWarning.text=ADVERTENCIA: Aseg\u00farese de saber lo que est\u00e1 haciendo antes de modificar estos valores. Un uso informado puede mejorar el rendimiento del sistema. Un mal uso puede causar una degradaci\u00f3n del rendimiento del sistema y p\u00e9rdida de datos. Por favor, consulte la gu\u00eda del usuario para m\u00e1s detalles.
+AdvancedAutoIngestSettingsPanel.threadCountLabel.text=Para este equipo, se debe usar un m\u00e1ximo de {0} hilos de ingesta de archivos.
+AIMIngestSettingsPanel.browseGlobalSettingsButton.text=Examinar
+AIMIngestSettingsPanel.jButton1.text=Descargar configuraciones compartidas
+AIMIngestSettingsPanel.jButtonEditIngestSettings.text=Configuraci\u00f3n de m\u00f3dulos de ingesta
+AIMIngestSettingsPanel.jButtonEditIngestSettings.toolTipText=Configuraci\u00f3n de trabajos de ingesta para el contexto de modo de procesamiento automatizado.
+AIMIngestSettingsPanel.jLabel1.text=Descargar la configuraci\u00f3n compartida actual (altamente recomendado antes de editar)
+AIMIngestSettingsPanel.lbSecondsBetweenJobs.text=N\u00famero de segundos de espera entre trabajos:
+AIMIngestSettingsPanel.lbSecondsBetweenJobs.toolTipText=Aumente este valor si los bloqueos de base de datos causan problemas. Da un poco m\u00e1s de tiempo para finalizar.
+AIMIngestSettingsPanel.spSecondsBetweenJobs.toolTipText=Aumente este valor si los bloqueos de base de datos causan problemas. Da un poco m\u00e1s de tiempo para finalizar.
+AutoIngestSettingsPanel.examinerModeRadioButton.text=Modo examinador
+AutoIngestSettingsPanel.autoIngestModeRadioButton.text=Modo de ingesta autom\u00e1tica
+AutoIngestSettingsPanel.AdvancedAutoIngestSettingsPanel.Title=Configuraci\u00f3n avanzada
+AutoIngestSettingsPanel.browseGlobalSettingsButton.text=Examinar
+AutoIngestSettingsPanel.CannotAccess=No se puede acceder
+AutoIngestSettingsPanel.EmptySettingsDirectory=Ingrese la ruta al directorio de configuraciones
+AutoIngestSettingsPanel.ErrorSettingDefaultFolder=Error al crear la carpeta predeterminada
+AutoIngestSettingsPanel.FileExportRules.text=Reglas de exportaci\u00f3n de archivos
+AutoIngestSettingsPanel.ImageDirectoryUnspecified=Se debe establecer la carpeta de im\u00e1genes compartidas
+AutoIngestSettingsPanel.InvalidPortNumber=N\u00famero de puerto inv\u00e1lido.
+AutoIngestSettingsPanel.jRadioButtonCopyFiles.text=Modo de copia de archivos
+AutoIngestSettingsPanel.KeywordSearchNull=No se puede encontrar el servicio de b\u00fasqueda por palabras clave
+AutoIngestSettingsPanel.MustRestart=La aplicaci\u00f3n debe reiniciarse para que la nueva configuraci\u00f3n tenga efecto
+AutoIngestSettingsPanel.nodePanel.TabConstraints.tabTitle=Configuraci\u00f3n de nodo
+AutoIngestSettingsPanel.NodeStatusLogging.text=Configuraci\u00f3n de registro del estado del nodo
+AutoIngestSettingsPanel.restartRequiredLabel.text=Se requiere reiniciar la aplicaci\u00f3n para que tenga efecto.
+AutoIngestSettingsPanel.ResultsDirectoryUnspecified=Se debe establecer la carpeta de casos compartidos
+AutoIngestSettingsPanel.tbOops.text=
+AutoIngestSettingsPanel.validationErrMsg.incomplete=Complete todos los valores
+AutoIngestSettingsPanel.validationErrMsg.invalidDatabasePort=N\u00famero de puerto de base de datos inv\u00e1lido
+AutoIngestSettingsPanel.validationErrMsg.invalidIndexingServerPort=N\u00famero de puerto del servidor Solr inv\u00e1lido
+AutoIngestSettingsPanel.validationErrMsg.invalidMessageServicePort=N\u00famero de puerto del servicio de mensajes inv\u00e1lido
+AutoIngestSettingsPanel.validationErrMsg.MUdisabled=La configuraci\u00f3n multiusuario debe estar habilitada y guardada
+AutoIngestSettingsPanel.bnTestMultiUser.text=Probar
+AutoIngestSettingsPanel.lbTestMultiUserText.text=Probar configuraci\u00f3n de creaci\u00f3n de casos multiusuario e ingesta
+AutoIngestSettingsPanel.lbMultiUserResult.text=
+AutoIngestSettingsPanel.lbTestResultText.text=
+AutoIngestSettingsPanel.validationErrMsg.outputPathNotSpecified=Se debe establecer la carpeta de salida
+AutoIngestSettingsPanel.PathInvalid=La ruta del directorio de salida del caso no es v\u00e1lida
+AutoIngestSettingsPanel.CheckPermissions=Aseg\u00farese de que la cuenta de usuario {0} tenga permisos de escritura en esta carpeta
+AutoIngestSettingsPanel.Success=\u00c9xito
+AutoIngestSettingsPanel.TestRunning=Prueba en curso...
+AutoIngestSettingsPanel.servicesDown=Algunos de los servicios multiusuario no est\u00e1n disponibles
+DayOfTheWeekRenderer_Friday_Label=Viernes
+DayOfTheWeekRenderer_Monday_Label=Lunes
+DayOfTheWeekRenderer_Saturday_Label=S\u00e1bado
+DayOfTheWeekRenderer_Sunday_Label=Domingo
+DayOfTheWeekRenderer_Thursday_Label=Jueves
+DayOfTheWeekRenderer_Tuesday_Label=Martes
+DayOfTheWeekRenderer_Wednesday_Label=Mi\u00e9rcoles
+GeneralOptionsPanelController.moduleErr.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar las actualizaciones de GeneralOptionsPanelController. Consulte el registro para determinar cu\u00e1l. Algunos datos podr\u00edan estar incompletos.
+GeneralOptionsPanelController.moduleErr=Error de m\u00f3dulo
+MultiUserTestTool.criticalError=Error cr\u00edtico al ejecutar el procesador de fuente de datos en la fuente de datos de prueba: {0}
+MultiUserTestTool.errorStartingIngestJob=Error del administrador de ingesta al iniciar el trabajo de ingesta
+MultiUserTestTool.ingestCancelled=Ingesta cancelada debido a {0}
+MultiUserTestTool.ingestSettingsError=No se pudo analizar la fuente de datos debido a errores en la configuraci\u00f3n de ingesta
+MultiUserTestTool.noContent=La fuente de datos de prueba no gener\u00f3 contenido
+MultiUserTestTool.serviceDown=El servicio multiusuario no est\u00e1 disponible: {0}
+MultiUserTestTool.startupError=No se pudo analizar la fuente de datos debido a un error al iniciar el trabajo de ingesta
+MultiUserTestTool.unableAddFileAsDataSource=No se pudo agregar el archivo de prueba como fuente de datos al caso
+MultiUserTestTool.unableCreatFile=No se pudo crear un archivo en el directorio de salida del caso
+MultiUserTestTool.unableToCheckService=No se pudo verificar el estado del servicio multiusuario: {0}
+MultiUserTestTool.unableToCreateCase=No se pudo crear el caso
+MultiUserTestTool.unableToInitializeDatabase=La base de datos del caso no se inicializ\u00f3 correctamente
+MultiUserTestTool.unableToInitializeFilTypeDetector=No se pudo inicializar el detector de tipo de archivo
+MultiUserTestTool.unableToReadDatabase=No se pudo leer desde la base de datos del caso
+MultiUserTestTool.unableToReadTestFileFromDatabase=No se pudo leer la informaci\u00f3n del archivo de prueba desde la base de datos del caso
+MultiUserTestTool.unableToRunIngest=No se pudo ejecutar la ingesta en la fuente de datos de prueba
+MultiUserTestTool.unableToUpdateKWSIndex=No se pudo escribir en el \u00edndice de b\u00fasqueda por palabras clave
+MultiUserTestTool.unexpectedError=Error inesperado al realizar la prueba multiusuario
+NodeStatusLogPanel.bnCancel.text=Cancelar
+NodeStatusLogPanel.bnOk.text=Aceptar
+NodeStatusLogPanel.bnTestDatabase.text=Probar
+NodeStatusLogPanel.cbEnableLogging.text=Habilitar registro en base de datos
+NodeStatusLogPanel.lbDatabaseSettings.text=Configuraci\u00f3n de base de datos
+NodeStatusLogPanel.lbTestDatabase.text=
+NodeStatusLogPanel.lbTestDbWarning.text=
+NodeStatusLogPanel.tbDbHostname.text=
+NodeStatusLogPanel.tbDbHostname.toolTipText=Nombre de host o direcci\u00f3n IP
+NodeStatusLogPanel.tbDbName.text=
+NodeStatusLogPanel.tbDbName.toolTipText=Nombre de la base de datos
+NodeStatusLogPanel.tbDbPassword.text=
+NodeStatusLogPanel.tbDbPassword.toolTipText=Contrase\u00f1a
+NodeStatusLogPanel.tbDbPort.text=
+NodeStatusLogPanel.tbDbPort.toolTipText=N\u00famero de puerto
+NodeStatusLogPanel.tbDbUsername.text=
+NodeStatusLogPanel.tbDbUsername.toolTipText=Nombre de usuario
+OpenOptionsPanelAction.name=Opciones de ingesta autom\u00e1tica
+OptionsCategory_Keywords_Auto_Ingest_Settings=Configuraci\u00f3n de ingesta autom\u00e1tica
+OptionsCategory_Keywords_General=Opciones
+OptionsCategory_Name_Auto_Ingest=Ingesta autom\u00e1tica
+OptionsDialog.jButton1.text=jButton1
+OptionsDialog.jCheckBox1.text=jCheckBox1
+OptionsDialog.jLabel1.text=jLabel1
+StartupWindow.AutoIngestMode=Nodo de ingesta automatizada
+StartupWindow.CaseImportMode=Importaci\u00f3n de casos de usuario \u00fanico
+StartupWindow.CopyAndImportMode=Utilidades
+StartupWindow.title.text=Bienvenido
+AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes.text=minutos
+AdvancedAutoIngestSettingsPanel.lbTimeoutHours.text=hora(s)
+AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobsSeconds.text=segundos
+AdvancedAutoIngestSettingsPanel.spSecondsBetweenJobs.toolTipText=Aumente este valor si los bloqueos de base de datos causan problemas. Da un poco m\u00e1s de tiempo para finalizar.
+AdvancedAutoIngestSettingsPanel.spTimeoutHours.toolTipText=Los componentes que generan procesos potencialmente prolongados pueden terminar dichos procesos si se supera el tiempo de espera especificado.
+AdvancedAutoIngestSettingsPanel.spInputScanInterval.toolTipText=Aumente este valor para reducir la frecuencia del escaneo de entrada.
+AdvancedAutoIngestSettingsPanel.spMaximumRetryAttempts.AccessibleContext.accessibleDescription=N\u00famero m\u00e1ximo de reintentos permitidos en el modo de ingesta autom\u00e1tica
+AdvancedAutoIngestSettingsPanel.spMaximumRetryAttempts.toolTipText=El n\u00famero m\u00e1ximo de veces que la ingesta autom\u00e1tica intentar\u00e1 reprocesar un trabajo si falla.
+AdvancedAutoIngestSettingsPanel.lbRestartRequired.text=Se requiere reiniciar la aplicaci\u00f3n para que tenga efecto.
+AdvancedAutoIngestSettingsPanel.cbTimeoutEnabled.toolTipText=Los componentes que generan procesos potencialmente prolongados pueden terminar dichos procesos si se supera el tiempo de espera especificado.
+AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.text=Trabajos concurrentes por caso (objetivo):
+AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.text=Cantidad de hilos para la ingesta de archivos:
+AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.text=Reintentos m\u00e1ximos permitidos por trabajo:
+AdvancedAutoIngestSettingsPanel.lbInputScanInterval.text=Intervalo entre escaneos de entrada:
+AdvancedAutoIngestSettingsPanel.lbTimeoutText.text=Tiempo de espera para procesos externos:
+AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobs.text=Tiempo de espera para sincronizaci\u00f3n del sistema:
+AdvancedAutoIngestSettingsPanel.jPanelAutoIngestJobSettings.border.title=Configuraci\u00f3n de trabajos de ingesta autom\u00e1tica
+AdvancedAutoIngestSettingsPanel.lbSecondsBetweenJobs.toolTipText_1=Aumente este valor si los bloqueos de base de datos causan problemas. Da un poco m\u00e1s de tiempo para finalizar.
+AdvancedAutoIngestSettingsPanel.lbTimeoutText.toolTipText=Los componentes que generan procesos potencialmente prolongados pueden terminar dichos procesos si se supera el tiempo de espera especificado.
+AdvancedAutoIngestSettingsPanel.lbInputScanInterval.toolTipText_1=Aumente este valor para reducir la frecuencia del escaneo de entrada.
+AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText_1=El n\u00famero m\u00e1ximo de reintentos para trabajos fallidos.
+AdvancedAutoIngestSettingsPanel.lbRetriesAllowed.toolTipText_2=El n\u00famero m\u00e1ximo de reintentos para trabajos fallidos.
+AdvancedAutoIngestSettingsPanel.lbConcurrentJobsPerCase.toolTipText_1=Un l\u00edmite flexible en el n\u00famero de trabajos simult\u00e1neos por caso cuando se procesan varios casos a la vez.
+AdvancedAutoIngestSettingsPanel.lbNumberOfThreads.toolTipText_1=Cantidad de hilos ejecutando m\u00f3dulos de ingesta a nivel de archivo.
+AdvancedAutoIngestSettingsPanel.numberOfFileIngestThreadsComboBox.toolTipText=Cantidad de hilos ejecutando m\u00f3dulos de ingesta a nivel de archivo.
+NodeStatusLogPanel.tbDbName.toolTipText_1=Nombre de la base de datos
+AutoIngestSettingsPanel.sharedConfigCheckbox.text=Usar configuraci\u00f3n compartida en la carpeta:
+AutoIngestSettingsPanel.configButtonErrorTextField.text=Campo de error del bot\u00f3n de configuraci\u00f3n
+AutoIngestSettingsPanel.jLabelTaskDescription.text=Descripci\u00f3n de la tarea
+AutoIngestSettingsPanel.jLabelCurrentTask.text=Tarea actual:
+AutoIngestSettingsPanel.downloadButton.text=Descargar configuraci\u00f3n
+AutoIngestSettingsPanel.uploadButton.text=Guardar y subir configuraci\u00f3n
+AutoIngestSettingsPanel.masterNodeCheckBox.text=Usar este nodo como nodo maestro que puede subir configuraciones
+AutoIngestSettingsPanel.sharedSettingsErrorTextField.text=Campo de error de configuraci\u00f3n global
+AutoIngestSettingsPanel.browseSharedSettingsButton.text=Examinar
+AutoIngestSettingsPanel.jLabelInvalidResultsFolder.text=Carpeta de resultados inv\u00e1lida
+AutoIngestSettingsPanel.jLabelInvalidImageFolder.text=Carpeta de im\u00e1genes inv\u00e1lida
+AutoIngestSettingsPanel.browseOutputFolderButton.text=Examinar
+AutoIngestSettingsPanel.outputPathTextField.toolTipText=Carpeta de casos compartidos para procesamiento automatizado, es decir, la ubicaci\u00f3n donde se crear\u00e1 la carpeta del caso por el modo de procesamiento automatizado para su presentaci\u00f3n al usuario en modo examinador.
+AutoIngestSettingsPanel.jLabelSelectOutputFolder.text=Seleccione la carpeta de casos compartidos:
+AutoIngestSettingsPanel.browseInputFolderButton.text=Examinar
+AutoIngestSettingsPanel.inputPathTextField.toolTipText=Carpeta de entrada para procesamiento automatizado, es decir, la ubicaci\u00f3n donde se crear\u00e1n las carpetas de casos de entrada para la ingesta mediante el modo de procesamiento automatizado
+AutoIngestSettingsPanel.jLabelSelectInputFolder.text=Seleccione la carpeta de im\u00e1genes compartidas:
+AutoIngestSettingsPanel.bnFileExport.text=Configuraci\u00f3n de exportaci\u00f3n de archivos
+AutoIngestSettingsPanel.bnAdvancedSettings.text=Configuraci\u00f3n avanzada
+AutoIngestSettingsPanel.bnEditIngestSettings.toolTipText=Configuraci\u00f3n de trabajos de ingesta para el contexto de procesamiento automatizado.
+AutoIngestSettingsPanel.bnEditIngestSettings.text=Configuraci\u00f3n de m\u00f3dulos de ingesta
+AdvancedAutoIngestSettingsPanel.pausePanel.border.title=Configuraci\u00f3n de pausa de ingesta automatizada
+AdvancedAutoIngestSettingsPanel.lbpauseDay.text=D\u00eda de la semana:
+AdvancedAutoIngestSettingsPanel.lbPauseTime.text=Hora de inicio:
+AdvancedAutoIngestSettingsPanel.lbPauseDuration.text=Duraci\u00f3n:
+AdvancedAutoIngestSettingsPanel.lbColon.text=:
+AdvancedAutoIngestSettingsPanel.cbEnablePause.text=Habilitar pausa
+AdvancedAutoIngestSettingsPanel.lbDurationHours.text=horas
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/objectdetection/Bundle_ar.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/objectdetection/Bundle_ar.properties
deleted file mode 100644
index 0b78351b6e8..00000000000
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/objectdetection/Bundle_ar.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-# {0} - detectionCount
-ObjectDetectionFileIngestModule.classifierDetection.text=El clasificador detecto {0} objeto(s).
-# {0} - classifierDir
-ObjectDetectionFileIngestModule.noClassifiersFound.message=No se encontraron clasificadores en {0}, la deteccion de objetos no se llevara a cabo.
-ObjectDetectionFileIngestModule.noClassifiersFound.subject=No se encontraron clasificadores.
-ObjectDetectionFileIngestModule.notWindowsError=Este modulo solo esta disponible en Windows.
-ObjectDetectionFileIngestModule.openCVNotLoaded=OpenCV no se cargo, pero es necesario para ejecutar el modulo.
-ObjectDetectionModuleFactory.moduleDescription.text=Utilizar clasificadores de objetos para identificar objetos en imagenes.
-ObjectDetectionModuleFactory.moduleName.text=Deteccion de objetos
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/Bundle_ar.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/Bundle_ar.properties
deleted file mode 100644
index 1315d3a66f9..00000000000
--- a/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/Bundle_ar.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-# To change this license header, choose License Headers in Project Properties.
-# To change this template file, choose Tools | Templates
-# and open the template in the editor.
-
-# {0} - exception message
-AddMemoryImageTask_errorMessage_criticalException=\ Error critico: {0}
-# {0} - ruta del archivo de imagen
-# {1} - ID del dispositivo
-AddMemoryImageTask_exceptionMessage_noImageFile=\ El archivo de imagen de memoria {0} para el dispositivo {1} no existe
-# {0} - ruta del archivo de imagen
-AddMemoryImageTask_progressMessage_addingImageFile=\ Agregando imagen de memoria {0}
-MemoryDSInputPanel.pathLabel.AccessibleContext.accessibleName=Buscar un archivo de imagen de memoria:
-MemoryDSInputPanel.PluginsToRunLabel.text=Plugins a ejecutar:
-MemoryDSInputPanel.pathLabel.text=Buscar un archivo de imagen de memoria:
-MemoryDSInputPanel.pathTextField.text=
-MemoryDSInputPanel.errorLabel.text=Etiqueta de error
-MemoryDSInputPanel.browseButton.text=Buscar
-MemoryDSInputPanel.timeZoneLabel.text=Zona horaria:
-MemoryDSInputPanel.profileLabel.text=Perfil:
-MemoryDSInputPanel.selectAllButton.text=Seleccionar todo
-MemoryDSInputPanel.deselectAllButton.text=Deseleccionar todo
-MemoryDSInputPanel_errorMsg_dataSourcePathOnCdrive=La ruta de la fuente de datos multiusuario esta en la unidad "C:"
-MemoryDSInputPanel_errorMsg_noOpenCase=No hay un caso abierto
-MemoryDSProcessor.dataSourceType=Archivo de imagen de memoria (Volatility)
-# {0} - nombre del plugin
-VolatilityProcessor_artifactAttribute_interestingFileSet=Plugin de Volatility {0}
-# {0} - nombre del plugin
-VolatilityProcessor_errorMessage_errorFindingFiles=Error al encontrar archivos analizados desde la salida del plugin {0} de Volatility
-# {0} - nombre del plugin
-VolatilityProcessor_errorMessage_failedToIndexArtifact=Error al indexar el artefacto a partir de la salida del plugin {0} de Volatility
-# {0} - nombre del plugin
-VolatilityProcessor_errorMessage_outputParsingError=Error al analizar la salida del plugin {0} de Volatility
-# {0} - nombre del plugin
-VolatilityProcessor_exceptionMessage_errorAddingOutput=Error al agregar la salida del plugin {0} al caso
-# {0} - nombre del plugin
-VolatilityProcessor_exceptionMessage_errorCreatingArtifact=Error al crear el artefacto para la salida del plugin {0} de Volatility
-# {0} - nombre del plugin
-VolatilityProcessor_exceptionMessage_errorIndexingOutput=Error al indexar la salida del plugin {0} de Volatility
-# {0} - nombre del plugin
-VolatilityProcessor_exceptionMessage_errorRunningPlugin=Error de Volatility al ejecutar el plugin {0}
-VolatilityProcessor_exceptionMessage_failedToParseImageInfo=No se pudo analizar la informacion de la imagen
-VolatilityProcessor_exceptionMessage_failedToRunVolatilityExe=No se pudo ejecutar Volatility
-# {0} - ruta del archivo
-# {1} - nombre del archivo
-# {2} - nombre del plugin
-VolatilityProcessor_exceptionMessage_fileNotFound=Archivo {0}/{1} no encontrado para la salida del plugin {2} de Volatility
-# {0} - nombre del plugin
-VolatilityProcessor_exceptionMessage_searchServiceNotFound=No se encontro el servicio de busqueda de palabras clave, la salida del plugin {0} de Volatility no se indexo
-VolatilityProcessor_exceptionMessage_volatilityExeNotFound=No se encontro el ejecutable de Volatility
-VolatilityProcessor_progressMessage_noCurrentCase=No se pudo obtener el caso actual
-# {0} - nombre del plugin
-VolatilityProcessor_progressMessage_runningImageInfo=Ejecutando el plugin {0} de Volatility para obtener informacion de la imagen
-
diff --git a/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/Bundle_es.properties b/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/Bundle_es.properties
new file mode 100644
index 00000000000..b507569a73a
--- /dev/null
+++ b/Experimental/src/org/sleuthkit/autopsy/experimental/volatilityDSP/Bundle_es.properties
@@ -0,0 +1,38 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AddMemoryImageTask_errorMessage_criticalException=\ Error cr\u00edtico: {0}
+AddMemoryImageTask_exceptionMessage_noImageFile=\ El archivo de imagen de memoria {0} para el dispositivo {1} no existe
+AddMemoryImageTask_progressMessage_addingImageFile=\ Agregando imagen de memoria {0}
+MemoryDSInputPanel.pathLabel.AccessibleContext.accessibleName=Buscar un archivo de imagen de memoria:
+MemoryDSInputPanel.PluginsToRunLabel.text=Complementos a ejecutar:
+MemoryDSInputPanel.pathLabel.text=Buscar un archivo de imagen de memoria:
+MemoryDSInputPanel.pathTextField.text=
+MemoryDSInputPanel.errorLabel.text=Etiqueta de error
+MemoryDSInputPanel.browseButton.text=Examinar
+MemoryDSInputPanel.timeZoneLabel.text=Zona horaria:
+MemoryDSInputPanel.profileLabel.text=Perfil:
+MemoryDSInputPanel.selectAllButton.text=Seleccionar todo
+MemoryDSInputPanel.deselectAllButton.text=Deseleccionar todo
+MemoryDSInputPanel_errorMsg_dataSourcePathOnCdrive=La ruta a la fuente de datos multiusuario est\u00e1 en la unidad "C:"
+MemoryDSInputPanel_errorMsg_noOpenCase=No hay un caso abierto
+MemoryDSProcessor.dataSourceType=Archivo de imagen de memoria (Volatility)
+VolatilityProcessor_artifactAttribute_interestingFileSet=Complemento de Volatility {0}
+VolatilityProcessor_errorMessage_errorFindingFiles=Error al encontrar archivos analizados de la salida del complemento {0}
+VolatilityProcessor_errorMessage_failedToIndexArtifact=Error al indexar artefacto de la salida del complemento {0}
+VolatilityProcessor_errorMessage_outputParsingError=Error al analizar la salida del complemento {0}
+VolatilityProcessor_exceptionMessage_errorAddingOutput=No se pudo agregar la salida del complemento {0} al caso
+VolatilityProcessor_exceptionMessage_errorCreatingArtifact=Error al crear artefacto para la salida del complemento {0}
+VolatilityProcessor_exceptionMessage_errorIndexingOutput=Error al indexar la salida del complemento {0}
+VolatilityProcessor_exceptionMessage_errorRunningPlugin=Error de Volatility al ejecutar el complemento {0}
+VolatilityProcessor_exceptionMessage_failedToParseImageInfo=No se pudo analizar la informaci\u00f3n de la imagen
+VolatilityProcessor_exceptionMessage_failedToRunVolatilityExe=No se pudo ejecutar Volatility
+VolatilityProcessor_exceptionMessage_fileNotFound=Archivo {0}/{1} no encontrado para la salida del complemento {2}
+VolatilityProcessor_exceptionMessage_searchServiceNotFound=Servicio de b\u00fasqueda por palabras clave no encontrado, la salida del complemento {0} no fue indexada
+VolatilityProcessor_exceptionMessage_volatilityExeNotFound=Ejecutable de Volatility no encontrado
+VolatilityProcessor_progressMessage_noCurrentCase=No se pudo obtener el caso actual
+VolatilityProcessor_progressMessage_runningImageInfo=Ejecutando complemento {0}
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_ar.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_ar.properties
deleted file mode 100644
index b1bc463887d..00000000000
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_ar.properties
+++ /dev/null
@@ -1,43 +0,0 @@
-CTL_ImageGalleryAction=Galeria de Imagenes/Videos
-CTL_ImageGalleryTopComponent=Galeria de Imagenes/Videos
-DrawableDbTask.InnerTask.message.name=estado
-DrawableDbTask.InnerTask.progress.name=progreso
-DrawableFileUpdateTask_committingDb.status=guardando la base de datos de imagenes/videos
-DrawableFileUpdateTask_errPopulating_errMsg=Hubo un error al poblar la base de datos de la Galeria de Imagenes.
-DrawableFileUpdateTask_populatingDb_status=poblando la base de datos de imagenes/videos analizadas
-DrawableFileUpdateTask_stopCopy_status=Deteniendo la tarea de copia a la base de datos de imagenes/videos.
-ImageGallery.dialogTitle=Galeria de Imagenes
-ImageGallery.showTooManyFiles.contentText=Hay demasiados archivos en las fuentes de datos seleccionadas, lo que podria afectar el rendimiento.
-ImageGallery.showTooManyFiles.headerText=
-ImageGalleryController.dataSourceAnalyzed.confDlg.msg=Se agrego una nueva fuente de datos y se completo la ingestion.\nEs posible que la base de datos de imagenes/videos este desactualizada. ¿Deseas actualizar la base de datos con los resultados de la ingestion?\n
-ImageGalleryController.dataSourceAnalyzed.confDlg.title=Galeria de Imagenes
-ImageGalleryController.noGroupsDlg.msg1=No hay grupos completamente analizados; pero la escucha de la ingestion esta desactivada. No habra grupos disponibles hasta que se termine la ingestion y se reactive la escucha.
-ImageGalleryController.noGroupsDlg.msg2=Aun no se han analizado completamente los grupos, pero la ingestion sigue en curso. Por favor, espera.
-ImageGalleryController.noGroupsDlg.msg3=Aun no se han analizado completamente los grupos, pero los datos de imagenes/videos aun se estan poblacion. Por favor, espera.
-ImageGalleryController.noGroupsDlg.msg4=No hay imagenes/videos disponibles en las fuentes de datos agregadas; pero la escucha de la ingestion esta desactivada. No habra grupos disponibles hasta que se termine la ingestion y se reactive la escucha.
-ImageGalleryController.noGroupsDlg.msg5=No hay imagenes/videos en las fuentes de datos agregadas.
-ImageGalleryController.noGroupsDlg.msg6=No hay grupos completamente analizados para mostrar: la configuracion actual de agrupacion no genero grupos o aun no se han analizado completamente los grupos pero la ingestion no esta en marcha.
-ImageGalleryModule.moduleName=Galeria de Imagenes
-ImageGalleryService.openCaseResources.progressMessage.finish=Bases de datos de la Galeria de Imagenes abiertas.
-ImageGalleryService.openCaseResources.progressMessage.start=Abriendo bases de datos de la Galeria de Imagenes...
-ImageGalleryService.serviceName=Servicio de Actualizacion de la Galeria de Imagenes
-ImageGalleryTopComponent.chooseDataSourceDialog.all=Todas
-ImageGalleryTopComponent.chooseDataSourceDialog.contentText=Fuente de datos:
-ImageGalleryTopComponent.chooseDataSourceDialog.headerText=Elige una fuente de datos para ver.
-ImageGalleryTopComponent.chooseDataSourceDialog.titleText=Galeria de Imagenes
-OpenIDE-Module-Long-Description=\
- Nueva galeria de imagenes y videos diseniada para realizar investigaciones con imagenes de manera mas eficiente. \
- Este trabajo ha sido financiado por DHS S&T y es una version beta. \
- No esta disponible en el sitio sleuthkit.org y se ha distribuido a usuarios seleccionados.
-OpenIDE-Module-Name=GaleriaDeImagenes
-OpenIDE-Module-Short-Description=Galeria avanzada de imagenes y videos
-ImageGalleryOptionsPanel.enabledForCaseBox.text=Habilitar actualizaciones de la Galeria de Imagenes para el caso actual.
-ImageGalleryOptionsPanel.enabledByDefaultBox.text=Habilitar la Galeria de Imagenes para nuevos casos de forma predeterminada.
-ImageGalleryOptionsPanel.enabledForCaseBox.toolTipText=Si la Galeria de Imagenes esta desactivada, solo se registrara la necesidad de una actualizacion. Si se habilita despues de la ingestion, se realizara una actualizacion masiva basada en los resultados de la ingestion. Si la Galeria de Imagenes esta desactivada, se te pedira habilitarla al intentar abrir su ventana.
-ImageGalleryOptionsPanel.descriptionLabel.text=Para minimizar los tiempos de inicio, la Galeria de Imagenes actualizara constantemente su base de datos interna.
Esto puede hacer que la ingestion sea mas lenta si no necesitas las caracteristicas de la Galeria de Imagenes.
Utiliza esta configuracion para deshabilitar la Galeria de Imagenes si no la necesitas.
-ImageGalleryOptionsPanel.furtherDescriptionArea.text=Si la Galeria de Imagenes esta desactivada, solo se registrara la necesidad de una actualizacion. Si se habilita despues de la ingestion, se realizara una actualizacion masiva basada en los resultados de la ingestion. Si la Galeria de Imagenes esta desactivada, se te pedira habilitarla al intentar abrir su ventana.
-ImageGalleryOptionsPanel.unavailableDuringInjestLabel.text=Esta configuracion no esta disponible durante la ingestion.
-ImageGalleryOptionsPanel.groupCategorizationWarningBox.text=No mostrar una advertencia al sobrescribir categorias mediante una accion en un grupo completo.
-CTL_OpenAction=Abrir Imagen/Video
-OptionsCategory_Keywords_Options=categoria de galeria de imagenes y videos
-OptionsCategory_Name_Options=Galeria de Imagenes/Videos
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_es.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_es.properties
new file mode 100644
index 00000000000..735b74028fc
--- /dev/null
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/Bundle_es.properties
@@ -0,0 +1,48 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+CTL_ImageGalleryAction=Galer\u00eda de Im\u00e1genes/Videos
+CTL_ImageGalleryTopComponent=Galer\u00eda de Im\u00e1genes/Videos
+DrawableDbTask.InnerTask.message.name=estado
+DrawableDbTask.InnerTask.progress.name=progreso
+DrawableFileUpdateTask_committingDb.status=confirmando base de datos de im\u00e1genes/videos
+DrawableFileUpdateTask_errPopulating_errMsg=Hubo un error al completar la base de datos de la galer\u00eda de im\u00e1genes.
+DrawableFileUpdateTask_populatingDb_status=completando base de datos de im\u00e1genes/videos analizados
+DrawableFileUpdateTask_stopCopy_status=Deteniendo la tarea de copia a la base de datos drawable.
+ImageGallery.dialogTitle=Galer\u00eda de Im\u00e1genes
+ImageGallery.showTooManyFiles.contentText=Hay demasiados archivos en la(s) fuente(s) de datos seleccionada(s) para garantizar un rendimiento razonable.
+ImageGallery.showTooManyFiles.headerText=
+ImageGalleryController.dataSourceAnalyzed.confDlg.msg=\ Se agreg\u00f3 una nueva fuente de datos y finaliz\u00f3 la ingesta.\nLa base de datos de im\u00e1genes/videos puede estar desactualizada. \u00bfDesea actualizar la base de datos con los resultados de la ingesta?\n
+ImageGalleryController.dataSourceAnalyzed.confDlg.title=Galer\u00eda de Im\u00e1genes
+ImageGalleryController.noGroupsDlg.msg1=No hay grupos completamente analizados; pero la escucha de la ingesta est\u00e1 deshabilitada. No habr\u00e1 grupos disponibles hasta que finalice la ingesta y se vuelva a habilitar la escucha.
+ImageGalleryController.noGroupsDlg.msg2=A\u00fan no hay grupos completamente analizados, pero la ingesta est\u00e1 en curso. Por favor espere.
+ImageGalleryController.noGroupsDlg.msg3=A\u00fan no hay grupos completamente analizados, pero los datos de im\u00e1genes/videos a\u00fan se est\u00e1n completando. Por favor espere.
+ImageGalleryController.noGroupsDlg.msg4=No hay im\u00e1genes/videos disponibles de las fuentes de datos agregadas; pero la escucha de la ingesta est\u00e1 deshabilitada. No habr\u00e1 grupos disponibles hasta que finalice la ingesta y se vuelva a habilitar la escucha.
+ImageGalleryController.noGroupsDlg.msg5=No hay im\u00e1genes/videos en las fuentes de datos agregadas.
+ImageGalleryController.noGroupsDlg.msg6=No hay grupos completamente analizados para mostrar: la configuraci\u00f3n actual de agrupaci\u00f3n no gener\u00f3 grupos, o no hay grupos completamente analizados y la ingesta no est\u00e1 en ejecuci\u00f3n.
+ImageGalleryModule.moduleName=Galer\u00eda de Im\u00e1genes
+ImageGalleryService.openCaseResources.progressMessage.finish=Bases de datos de la galer\u00eda de im\u00e1genes abiertas.
+ImageGalleryService.openCaseResources.progressMessage.start=Abriendo bases de datos de la galer\u00eda de im\u00e1genes...
+ImageGalleryService.serviceName=Servicio de actualizaci\u00f3n de la galer\u00eda de im\u00e1genes
+ImageGalleryTopComponent.chooseDataSourceDialog.all=Todos
+ImageGalleryTopComponent.chooseDataSourceDialog.contentText=Fuente de datos:
+ImageGalleryTopComponent.chooseDataSourceDialog.headerText=Seleccione una fuente de datos para visualizar.
+ImageGalleryTopComponent.chooseDataSourceDialog.titleText=Galer\u00eda de Im\u00e1genes
+OpenIDE-Module-Long-Description=\
+ Nueva galer\u00eda de im\u00e1genes y videos dise\u00f1ada para hacer que las investigaciones intensivas en im\u00e1genes sean m\u00e1s eficientes. Este trabajo ha sido financiado por DHS S&T y esta es una versi\u00f3n beta. No est\u00e1 disponible en el sitio sleuthkit.org y ha sido distribuida a usuarios limitados.
+OpenIDE-Module-Name=Galer\u00edaDeIm\u00e1genes
+OpenIDE-Module-Short-Description=Galer\u00eda avanzada de im\u00e1genes y videos
+ImageGalleryOptionsPanel.enabledForCaseBox.text=Habilitar actualizaciones de la galer\u00eda de im\u00e1genes para el caso actual.
+ImageGalleryOptionsPanel.enabledByDefaultBox.text=Habilitar la galer\u00eda de im\u00e1genes por defecto para nuevos casos.
+ImageGalleryOptionsPanel.enabledForCaseBox.toolTipText=Si la galer\u00eda de im\u00e1genes est\u00e1 deshabilitada, solo se registrar\u00e1 que se necesita una actualizaci\u00f3n. Si se habilita despu\u00e9s de la ingesta, realizar\u00e1 una actualizaci\u00f3n masiva basada en los resultados de la ingesta. Si est\u00e1 deshabilitada, se te pedir\u00e1 habilitarla al intentar abrir su ventana.
+ImageGalleryOptionsPanel.descriptionLabel.text=Para minimizar los tiempos de inicio, la galer\u00eda de im\u00e1genes actualizar\u00e1 constantemente su base de datos interna.
Esto puede hacer que la ingesta sea m\u00e1s lenta si no necesitas las funciones de la galer\u00eda de im\u00e1genes.
Usa esta configuraci\u00f3n para deshabilitar la galer\u00eda si no la necesitas.
+ImageGalleryOptionsPanel.furtherDescriptionArea.text=Si la galer\u00eda de im\u00e1genes est\u00e1 deshabilitada, solo se registrar\u00e1 que se necesita una actualizaci\u00f3n. Si se habilita despu\u00e9s de la ingesta, realizar\u00e1 una actualizaci\u00f3n masiva basada en los resultados de la ingesta. Si est\u00e1 deshabilitada, se te pedir\u00e1 habilitarla al intentar abrir su ventana.
+ImageGalleryOptionsPanel.unavailableDuringInjestLabel.text=Esta configuraci\u00f3n no est\u00e1 disponible durante la ingesta.
+ImageGalleryOptionsPanel.groupCategorizationWarningBox.text=No mostrar una advertencia al sobrescribir categor\u00edas actuando sobre un grupo completo.
+CTL_OpenAction=Abrir Imagen/Video
+OptionsCategory_Keywords_Options=categor\u00eda de galer\u00eda de im\u00e1genes y videos
+OptionsCategory_Name_Options=Galer\u00eda de Im\u00e1genes / Videos
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_ar.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_ar.properties
deleted file mode 100644
index 88a9af0413a..00000000000
--- a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_ar.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-# {0} - fileID
-AddDrawableTagAction.addTagsToFiles.alert=No se puede etiquetar el archivo {0}.
-AddDrawableTagAction.displayName.plural=Etiquetar Archivos
-AddDrawableTagAction.displayName.singular=Etiquetar Archivo
-AddTagAction.menuItem.newTag=Nueva Etiqueta...
-AddTagAction.menuItem.noTags=Sin etiquetas
-AddTagAction.menuItem.quickTag=Etiqueta Rapida
-AddTagAction.menuItem.tagAndComment=Etiqueta y Comentario...
-Back_diplayName=Volver
-CategorizeAction.displayName=Categorizar
-# {0} - numero del ID del archivo
-CategorizeDrawableFileTask.errorUnable.msg=No se puede categorizar {0}.
-CategorizeDrawableFileTask.errorUnable.title=Error al Categorizar
-CategorizeGroupAction.dontShowAgain=No mostrar este mensaje nuevamente
-CategorizeGroupAction.fileCountHeader=Los siguientes archivos tendran sus categorias sobrescritas:
-# {0} - numero de archivos con la categoria
-# {1} - nombre de la categoria
-CategorizeGroupAction.fileCountMessage={0} con {1}
-CategorizeGroupAction.OverwriteButton.text=Sobrescribir
-CTL_AddImage=Ver Imagenes/Videos
-CTL_OpenAction=Imagenes/Videos
-# {0} - ID del archivo
-DeleteDrawableTagAction.deleteTag.alert=No se puede quitar la etiqueta del archivo {0}.
-DeleteDrawableTagAction.displayName=Eliminar Etiqueta del Archivo
-DeleteFollwUpTagAction.displayName=Eliminar Etiqueta de Seguimiento
-Forward.displayName=Reenviar
-MediaViewImagePanel.externalViewerButton.text=Abrir en Visor Externo
-NextUnseenGroup.allGroupsSeen=Todos los Grupos Han Sido Vistos
-NextUnseenGroup.markGroupSeen=Marcar Grupo como Visto
-NextUnseenGroup.nextUnseenGroup=Siguiente Grupo no Visto
-OpenAction.dialogTitle=Galeria de Imagenes
-OpenAction.multiUserDialog.checkBox.text=No mostrar este mensaje nuevamente.
-OpenAction.multiUserDialog.ContentText=La Galeria de Imagenes se actualiza de manera diferente para casos de multiples usuarios que para casos de un solo usuario. Especificamente:\n\nSi tu computadora esta analizando una fuente de datos, recibiras actualizaciones en tiempo real de la Galeria de Imagenes a medida que los archivos se analizan (hash, EXIF, etc.). Esto es igual al comportamiento en casos de un solo usuario.\n\nSi otra computadora en tu grupo de usuarios esta analizando una fuente de datos, recibiras actualizaciones sobre los archivos de esa fuente solo cuando inicies la Galeria de Imagenes, lo que reconstruira la base de datos local en funcion de los resultados de otros nodos.
-OpenAction.multiUserDialog.Header=Galeria de Imagenes para Multiples Usuarios
-OpenAction.noControllerDialog.header=No se puede abrir la Galeria de Imagenes
-OpenAction.noControllerDialog.text=Se produjo un error de inicializacion.\nPor favor, consulta los registros para obtener mas detalles.
-OpenAction.notAnalyzedDlg.msg=No hay archivos de imagen/video disponibles para mostrar aun.\nPor favor, ejecuta los modulos de ingestion de FileType y EXIF.
-OpenAction.openTopComponent.error.message=Se produjo un error al intentar abrir la Galeria de Imagenes.
-OpenAction.openTopComponent.error.title=Error al abrir la Galeria de Imagenes
-OpenAction.stale.confDlg.msg=La base de datos de imagenes/videos puede estar desactualizada. ¿Deseas actualizarla y escuchar futuros resultados de ingestion?\nElegir 'si' actualizara la base de datos y permitira la escucha de futuras ingestiones.\n\nEl estado de la actualizacion de la base de datos aparecera en la esquina inferior derecha de la ventana de la aplicacion.
-OpenAction.stale.confDlg.title=Galeria de Imagenes
-OpenExternalViewerAction.displayName=Visor Externo
-RedoAction.name=Rehacer
-UndoAction.displayName=Deshacer
diff --git a/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_es.properties b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_es.properties
new file mode 100644
index 00000000000..feb3db1694e
--- /dev/null
+++ b/ImageGallery/src/org/sleuthkit/autopsy/imagegallery/actions/Bundle_es.properties
@@ -0,0 +1,526 @@
+# Traducción al español realizada por ABURTO Ariel Eduardo
+# Fecha de finalización: 27 de abril de 2025
+# Ciudad de Puerto Madryn, Chubut, Argentina
+# GitHub: https://github.com/AburtoArielPM
+# Proyecto: Autopsy Forensic
+
+
+AddImageWizardIngestConfigPanel.name.text=Configurar Ingesta
+AddImageWizardSelectDspVisual.multiUserWarning.text=Este tipo de Procesador de Fuente de Datos no est\u00e1 disponible en modo multiusuario
+AddImageWizardSelectHostPanel_title=Seleccionar Host para Agregar la Fuente de Datos
+AddImageWizardSelectHostVisual_getValidationMessage_noHostSelected=Por favor seleccione un host existente.
+AddImageWizardSelectHostVisual_title=Seleccionar Host
+# {0} - exception message
+Case.closeException.couldNotCloseCase=Error al cerrar el caso: {0}
+Case.creationException.couldNotAcquireResourcesLock=No se pudo obtener el bloqueo de recursos del caso
+Case.deleteCaseConfirmationDialog.message=\u00bfEst\u00e1 seguro de que desea cerrar y eliminar el caso actual?
+Case.deleteCaseConfirmationDialog.title=\u00bfEliminar Caso Actual?
+# {0} - exception message
+Case.deleteCaseFailureMessageBox.message=Error al eliminar el caso: {0}
+Case.deleteCaseFailureMessageBox.title=Error al Eliminar el Caso
+Case.exceptionMessage.cancelled=Cancelado.
+Case.exceptionMessage.cannotDeleteCurrentCase=No se puede eliminar el caso actual, primero debe cerrarlo.
+Case.exceptionMessage.cannotGetLockToDeleteCase=No se puede eliminar el caso porque est\u00e1 abierto para otro usuario u host.
+Case.exceptionMessage.cannotLocateMainWindow=No se puede localizar la ventana principal de la aplicaci\u00f3n
+Case.exceptionMessage.cannotOpenMultiUserCaseNoSettings=Faltan configuraciones de multiusuario (vea Herramientas, Opciones, pesta\u00f1a Multiusuario), no se puede abrir un caso multiusuario.
+Case.exceptionMessage.contentProviderCouldNotBeFound=Se especific\u00f3 un proveedor de contenido para el caso pero no se pudo cargar.
+# {0} - exception message
+Case.exceptionMessage.couldNotCreatCollaborationMonitor=No se pudo crear el monitor de colaboraci\u00f3n:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotCreateCaseDatabase=No se pudo crear la base de datos del caso:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotCreateCaseNodeData=No se pudieron crear los datos del nodo del servicio de coordinaci\u00f3n:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotGetDbServerConnectionInfo=No se pudo obtener la informaci\u00f3n de conexi\u00f3n al servidor de base de datos del caso:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotOpenCaseDatabase=No se pudo abrir la base de datos del caso:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotOpenRemoteEventChannel=No se pudo abrir el canal de eventos remotos:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotSaveCaseMetadata=No se pudieron guardar los metadatos del caso:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotSaveDbNameToMetadataFile=No se pudo guardar el nombre de la base de datos del caso en el archivo de metadatos:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.couldNotUpdateCaseNodeData=No se pudieron actualizar los datos del nodo del servicio de coordinaci\u00f3n:\n{0}.
+Case.exceptionMessage.dataSourceNotFound=No se encontr\u00f3 la fuente de datos.
+# {0} - case display name
+Case.exceptionMessage.deletionInterrupted=La eliminaci\u00f3n del caso {0} fue cancelada.
+Case.exceptionMessage.emptyCaseDir=Debe especificar una ruta de directorio para el caso.
+Case.exceptionMessage.emptyCaseName=Debe especificar un nombre para el caso.
+Case.exceptionMessage.errorDeletingDataSourceFromCaseDb=Ocurri\u00f3 un error al eliminar la fuente de datos de la base de datos del caso.
+Case.exceptionMessage.errorDeletingDataSourceFromTextIndex=Ocurri\u00f3 un error al eliminar la fuente de datos del \u00edndice de texto.
+Case.exceptionMessage.errorsDeletingCase=Ocurrieron errores al eliminar el caso. Consulte el registro de la aplicaci\u00f3n para m\u00e1s detalles.
+# {0} - exception message
+Case.exceptionMessage.execExceptionWrapperMessage={0}
+# {0} - exception message
+Case.exceptionMessage.failedToConnectToCoordSvc=No se pudo conectar al servicio de coordinaci\u00f3n:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.failedToFetchCoordSvcNodeData=No se pudieron obtener los datos del nodo del servicio de coordinaci\u00f3n:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.failedToLockCaseForDeletion=No se pudo bloquear exclusivamente el caso para su eliminaci\u00f3n:\n{0}.
+# {0} - exception message
+Case.exceptionMessage.failedToReadMetadata=No se pudieron leer los metadatos del caso:\n{0}.
+Case.exceptionMessage.metadataUpdateError=No se pudo actualizar los metadatos del caso
+# {0} - exception message
+Case.exceptionMessage.unsupportedSchemaVersionMessage=Versi\u00f3n de esquema de base de datos del caso no compatible:\n{0}.
+Case.lockingException.couldNotAcquireExclusiveLock=No se pudo obtener un bloqueo exclusivo en el caso.
+Case.lockingException.couldNotAcquireSharedLock=No se pudo obtener un bloqueo compartido en el caso.
+Case.open.exception.multiUserCaseNotEnabled=No se puede abrir un caso multiusuario si los casos multiusuario no est\u00e1n habilitados. Consulte Herramientas, Opciones, Multiusuario.
+Case.openFileSystems.openingImage=Abriendo todos los sistemas de archivos para la imagen: {0}...
+Case.openFileSystems.retrievingImages=Recuperando im\u00e1genes para el caso: {0}...
+Case.progressIndicatorCancelButton.label=Cancelar
+Case.progressIndicatorTitle.closingCase=Cerrando Caso
+Case.progressIndicatorTitle.creatingCase=Creando Caso
+Case.progressIndicatorTitle.deletingCase=Eliminando Caso
+Case.progressIndicatorTitle.deletingDataSource=Eliminando Fuente de Datos
+Case.progressIndicatorTitle.openingCase=Abriendo Caso
+Case.progressMessage.cancelling=Cancelando...
+Case.progressMessage.clearingTempDirectory=Limpiando el directorio temporal del caso...
+Case.progressMessage.closingApplicationServiceResources=Cerrando recursos del servicio de aplicaci\u00f3n espec\u00edficos del caso...
+Case.progressMessage.closingCaseDatabase=Cerrando la base de datos del caso...
+Case.progressMessage.connectingToCoordSvc=Conectando al servicio de coordinaci\u00f3n...
+Case.progressMessage.creatingCaseDatabase=Creando la base de datos del caso...
+Case.progressMessage.creatingCaseDirectory=Creando el directorio del caso...
+Case.progressMessage.creatingCaseNodeData=Creando datos del nodo del servicio de coordinaci\u00f3n...
+Case.progressMessage.deletingCaseDatabase=Eliminando la base de datos del caso...
+Case.progressMessage.deletingCaseDirCoordSvcNode=Eliminando nodo de coordinaci\u00f3n del directorio del caso...
+Case.progressMessage.deletingCaseDirectory=Eliminando el directorio del caso...
+Case.progressMessage.deletingDataSource=Eliminando la fuente de datos del caso...
+Case.progressMessage.deletingResourcesCoordSvcNode=Eliminando nodo de recursos del servicio de coordinaci\u00f3n...
+Case.progressMessage.deletingTextIndex=Eliminando \u00edndice de texto...
+Case.progressMessage.fetchingCoordSvcNodeData=Obteniendo datos del nodo del servicio de coordinaci\u00f3n para el caso...
+Case.progressMessage.openingApplicationServiceResources=Abriendo recursos del servicio de aplicaci\u00f3n del caso...
+Case.progressMessage.openingCaseDatabase=Abriendo la base de datos del caso...
+Case.progressMessage.openingCaseLevelServices=Abriendo servicios a nivel de caso...
+Case.progressMessage.preparing=Preparando...
+Case.progressMessage.removingCaseFromRecentCases=Eliminando caso del men\u00fa de Casos Recientes...
+Case.progressMessage.savingCaseMetadata=Guardando metadatos del caso en archivo...
+Case.progressMessage.settingUpNetworkCommunications=Configurando comunicaciones de red...
+Case.progressMessage.shuttingDownNetworkCommunications=Cerrando comunicaciones de red...
+Case.progressMessage.switchingLogDirectory=Cambiando el directorio de registros...
+Case.progressMessage.updatingCaseNodeData=Actualizando datos del nodo del servicio de coordinaci\u00f3n...
+Case.serviceCloseResourcesProgressIndicator.title={0} Cerrando Recursos del Caso
+Case.serviceOpenCaseResourcesProgressIndicator.cancellingMessage=Cancelando apertura de recursos del caso por {0}...
+Case.serviceOpenCaseResourcesProgressIndicator.title={0} Abriendo Recursos del Caso
+Case.servicesException.notificationTitle=Error de {0}
+Case.servicesException.serviceResourcesCloseError=No se pudieron cerrar los recursos del caso para el servicio {0}: {1}
+Case_caseType_multiUser=Caso multiusuario
+Case_caseType_singleUser=Caso de un solo usuario
+Case_checkImagePaths_exceptionOccurred=Ocurri\u00f3 una excepci\u00f3n al verificar si existen rutas de imagen
+Case_checkImagePaths_noPaths=Las siguientes im\u00e1genes no ten\u00edan rutas asociadas: {0}
+Case_throwIfConcurrentDbAccessException_fileLock_concurrentAccessException=El caso est\u00e1 abierto en {0}. Por favor ci\u00e9rrelo antes de intentar abrirlo en Autopsy.
+Case_throwIfConcurrentDbAccessException_fileLock_concurrentAccessException_defaultApp=otra aplicaci\u00f3n
+CaseDetailsPanel.casePanel.border.title=Caso
+CaseDetailsPanel.examinerLabel.text=Nombre:
+CaseDetailsPanel.examinerPanel.border.title=Examinador
+CaseDetailsPanel.lbCaseUUIDLabel.text=UUID del Caso:
+CaseDetailsPanel.lbExaminerEmailLabel.text=Correo electr\u00f3nico:
+CaseDetailsPanel.lbExaminerPhoneLabel.text=Tel\u00e9fono:
+CaseDetailsPanel.lbNotesLabel.text=Notas:
+CaseDetailsPanel.lbOrganizationNameLabel.text=Nombre:
+CaseDetailsPanel.lbPointOfContactEmailLabel.text=Correo electr\u00f3nico:
+CaseDetailsPanel.lbPointOfContactNameLabel.text=Persona de Contacto:
+CaseDetailsPanel.lbPointOfContactPhoneLabel.text=Tel\u00e9fono:
+CaseDetailsPanel.pnOrganization.border.title=Organizaci\u00f3n
+CaseInformationPanel.caseDetails.header=Detalles
+CaseInformationPanel.editDetailsButton.text=Editar Detalles
+CaseInformationPanel.editDetailsDialog.title=Editar Detalles del Caso
+CaseOpenAction.msgDlg.cantOpenCase.title=Error al Abrir el Caso
+CTL_AddImage=Agregar Fuente de Datos
+CTL_AddImageButton=Agregar Fuente de Datos
+CTL_CaseCloseAct=Cerrar Caso
+CTL_CaseNewAction=Nuevo Caso
+CTL_CaseDetailsAction=Detalles del Caso
+CTL_CaseDeleteAction=Eliminar Caso
+CTL_CaseDeleteAction=Eliminar Caso
+CTL_CaseOpenAction=Abrir Caso
+CTL_UnpackagePortableCaseAction=Desempaquetar y Abrir Caso Port\u00e1til
+DeleteDataSourceAction.confirmationDialog.message=\u00bfEst\u00e1 seguro de que desea eliminar la fuente de datos seleccionada del caso?\nTenga en cuenta que el caso se cerrar\u00e1 y volver\u00e1 a abrir durante la eliminaci\u00f3n.
+DeleteDataSourceAction.exceptionMessage.couldNotReopenCase=No se pudo volver a abrir el caso:\n{0}\nConsulte el registro de la aplicaci\u00f3n para m\u00e1s detalles.
+DeleteDataSourceAction.exceptionMessage.dataSourceDeletionError=Ocurri\u00f3 un error al eliminar la fuente de datos:\n{0}\nConsulte el registro de la aplicaci\u00f3n para m\u00e1s detalles.
+DeleteDataSourceAction.ingestRunningWarningDialog.message=No se pueden eliminar fuentes de datos mientras se est\u00e1 ejecutando el proceso de ingesta.
+DeleteDataSourceAction.name.text=Eliminar Fuente de Datos
+EditOptionalCasePropertiesPanel.cancelButton.text=Cancelar
+EditOptionalCasePropertiesPanel.saveButton.text=Guardar
+GeneralFilter.encaseImageDesc.text=Im\u00e1genes Encase (*.e01)
+GeneralFilter.executableDesc.text=Ejecutables (*.exe)
+GeneralFilter.graphicImageDesc.text=Im\u00e1genes (*.png, *.jpg, *.jpeg, *.gif, *.bmp)
+GeneralFilter.rawImageDesc.text=Im\u00e1genes Raw (*.img, *.dd, *.001, *.aa, *.raw, *.bin)
+GeneralFilter.virtualMachineImageDesc.text=Maquinas Virtuales (*.vmdk, *.vhd, *.vhdx)
+ImageFilePanel.000.confirmationMessage=El archivo seleccionado tiene la extensi\u00f3n .001 pero hay un archivo .000 en la secuencia de im\u00e1genes raw.\n\u00bfDesea usar el archivo .000 como inicio en lugar del archivo .001 seleccionado?\n
+ImageFilePanel.moduleErr=Error del M\u00f3dulo
+ImageFilePanel.moduleErr.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar las actualizaciones de ImageFilePanel. Consulte el registro para determinar cu\u00e1l. Algunos datos podr\u00edan estar incompletos.\n
+ImageFilePanel.validatePanel.dataSourceOnCDriveError=Advertencia: La ruta a la fuente de datos multiusuario est\u00e1 en la unidad \"C:\"
+ImageFilePanel.validatePanel.invalidMD5=Hash MD5 inv\u00e1lido
+ImageFilePanel.validatePanel.invalidSHA1=Hash SHA1 inv\u00e1lido
+ImageFilePanel.validatePanel.invalidSHA256=Hash SHA256 inv\u00e1lido
+ImageFilePanel_validatePanel_imageOpenError=Ocurri\u00f3 un error al abrir la imagen:{0}
+ImageFilePanel_validatePanel_unknownError=Ocurri\u00f3 un error desconocido al intentar validar la imagen
+ImageFilePanel_validatePanel_unknownErrorMsg=
+IngestJobInfoPanel.IngestJobTableModel.EndTime.header=Hora de Finalizaci\u00f3n
+IngestJobInfoPanel.IngestJobTableModel.IngestStatus.header=Estado de Ingesta
+IngestJobInfoPanel.IngestJobTableModel.StartTime.header=Hora de Inicio
+IngestJobInfoPanel.IngestModuleTableModel.ModuleName.header=Nombre del M\u00f3dulo
+IngestJobInfoPanel.IngestModuleTableModel.ModuleVersion.header=Versi\u00f3n del M\u00f3dulo
+IngestJobInfoPanel.loadIngestJob.error.text=Error al cargar los trabajos de ingesta.
+IngestJobInfoPanel.loadIngestJob.error.title=Fallo en la Carga
+LocalDiskPanel.errorMessage.noOpenCaseBody=El oyente de LocalDiskPanel no pudo obtener el caso abierto.
+LocalDiskPanel.errorMessage.noOpenCaseTitle=No hay caso abierto disponible
+LocalDiskPanel.imageWriterError.directoryNotExist=Error - el directorio no existe
+LocalDiskPanel.imageWriterError.emptyPath=Error - ingrese la ruta para el VHD
+LocalDiskPanel.imageWriterError.fileExists=Error - la ruta del VHD ya existe
+LocalDiskPanel.imageWriterError.isDirectory=Error - la ruta del VHD es un directorio
+LocalDiskPanel.localDiskMessage.unspecified=No especificado
+LocalDiskPanel.moduleErrorMessage.body=Un m\u00f3dulo caus\u00f3 un error al escuchar actualizaciones de LocalDiskPanel. Consulte el registro para determinar cu\u00e1l m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+LocalDiskPanel.moduleErrorMessage.title=Error de M\u00f3dulo
+LocalDiskSelectionDialog.columnName.diskName=Nombre del Disco
+LocalDiskSelectionDialog.columnName.diskSize=Tama\u00f1o del Disco
+LocalDiskSelectionDialog.errorMessage.disksNotDetected=No se detectaron discos. En algunos sistemas se requieren privilegios de administrador (o "Ejecutar como administrador").
+LocalDiskSelectionDialog.errorMessage.drivesNotDetected=No se detectaron unidades locales. La autodetecci\u00f3n no est\u00e1 soportada en este sistema operativo o se requieren privilegios de administrador
+LocalDiskSelectionDialog.errorMessage.someDisksNotDetected=No se detectaron algunos discos. En algunos sistemas se requieren privilegios de administrador (o "Ejecutar como administrador").
+LocalDiskSelectionDialog.moduleErrorMessage.body=Un m\u00f3dulo caus\u00f3 un error al escuchar actualizaciones de LocalDiskPanel. Consulte el registro para determinar cu\u00e1l m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+LocalDiskSelectionDialog.moduleErrorMessage.title=Error de M\u00f3dulo
+LocalDiskSelectionDialog.tableMessage.loading=Cargando discos locales...
+LocalDiskSelectionDialog.tableMessage.noDrives=No hay Unidades Accesibles
+LocalFilesDSProcessor.logicalEvidenceFilter.desc=Archivos de Evidencia L\u00f3gica (L01)
+LocalFilesPanel.pathValidation.dataSourceOnCDriveError=Advertencia: La ruta a la fuente de datos multiusuario est\u00e1 en la unidad "C:"
+LocalFilesPanel.pathValidation.getOpenCase=ADVERTENCIA: Excepci\u00f3n al obtener el caso abierto.
+LogicalEvidenceFilePanel.moduleErr.msg=Un m\u00f3dulo caus\u00f3 un error al escuchar actualizaciones de LogicalEvidenceFilePanel. Consulte el registro para determinar cu\u00e1l m\u00f3dulo. Algunos datos podr\u00edan estar incompletos.
+LogicalEvidenceFilePanel.moduleErr.name=Error de M\u00f3dulo
+LogicalEvidenceFilePanel.pathValidation.dataSourceOnCDriveError=Advertencia: La ruta a la fuente de datos multiusuario est\u00e1 en la unidad "C:"
+LogicalEvidenceFilePanel.pathValidation.getOpenCase.Error=Advertencia: Excepci\u00f3n al obtener el caso abierto.
+LogicalEvidenceFilePanel.validatePanel.nonL01Error.text=Solo se admiten archivos con extensi\u00f3n .l01 aqu\u00ed.
+LogicalFilesDspPanel.subTypeComboBox.l01FileOption.text=Archivo de evidencia l\u00f3gica (L01)
+LogicalFilesDspPanel.subTypeComboBox.localFilesOption.text=Archivos y carpetas locales
+OpenIDE-Module-Name=Caso
+NewCaseVisualPanel1.caseNameLabel.text_1=Nombre del Caso:
+NewCaseVisualPanel1.caseDirLabel.text=Directorio Base:
+NewCaseVisualPanel1.caseDirBrowseButton.text=Examinar
+NewCaseVisualPanel1.caseNameTextField.text_1=
+NewCaseVisualPanel1.caseParentDirTextField.text=
+NewCaseVisualPanel1.caseDirTextField.text_1=
+CueBannerPanel.autopsyLogo.text=
+CueBannerPanel.closeButton.text=Cerrar
+# {0} - caseErrorMessage
+OpenMultiUserCaseAction.caseOpeningErrorErrorMsg=Error al abrir el caso: {0}
+OpenMultiUserCaseAction.menuItemText=Abrir Caso
+OpenMultiUserCaseDialog.title=Abrir Caso Multiusuario
+OpenRecentCasePanel.cancelButton.text=Cancelar
+OpenRecentCasePanel.jLabel1.text=Casos Recientes
+AddImageErrorsDialog.title=Registro de Agregado de Imagen
+AddImageErrorsDialog.copyButton.toolTipText=Copiar errores al portapapeles
+AddImageErrorsDialog.copyButton.text=Copiar
+AddImageErrorsDialog.closeButton.toolTipText=Cerrar esta ventana
+AddImageErrorsDialog.closeButton.text=Cerrar
+OpenRecentCasePanel.openButton.text=Abrir
+ImageFilePanel.pathLabel.text=Ruta:
+ImageFilePanel.browseButton.text=Examinar
+ImageFilePanel.pathTextField.text=
+MissingImageDialog.selectButton.text=Seleccionar Imagen
+MissingImageDialog.titleLabel.text=Buscar imagen faltante
+MissingImageDialog.cancelButton.text=Cancelar
+AddImageWizardAddingProgressVisual.statusLabel.text=La fuente de datos ha sido agregada a la base de datos local. Los archivos est\u00e1n siendo analizados.
+AddImageWizardAddingProgressVisual.progressLabel.text=