diff --git a/I18n/index.es.json b/I18n/index.es.json
index 620bc48..edfdd8d 100644
--- a/I18n/index.es.json
+++ b/I18n/index.es.json
@@ -1,15 +1,15 @@
{
- "Add to Library on Save-circle-help": ["Si se activa esta opción, los archivos de audio se añadirán a la biblioteca cada vez que se guarden detecciones en el archivo."],
+ "Add to Library on Save-circle-help": ["Si se activa esta opción, las grabaciones se añadirán a la biblioteca cada vez que se guarden detecciones en el archivo."],
"Adjust font size-circle-help": ["Cambia el tamaño de la letra para la aplicación."],
- "Audio Library-circle-help": ["Chirpity puede organizar los audios en una biblioteca permanente en la ubicación que elijas, como un disco de datos o una unidad de red. Una vez guardados, aunque se eliminen los archivos originales los registros seguirán visibles en la aplicación. Para guardar el audio en la biblioteca hay que ir al menú 'Registros' y elegir 'Guardar audio de los resultados archivados en la biblioteca' o bien activar la opción 'Añadir a la biblioteca al guardar' que aparece justo debajo. Los archivos se guardarán con la siguiente estructura:
Sitio de grabación / Año / Mes / Nombre del archivo
El audio 'con pérdida' (Lossy) requiere aproximadamente 1 GB de almacenamiento por cada 24 horas de grabación, mientras que el audio 'sin pérdida' (Lossless) convierte los archivos al formato FLAC, preservando la fidelidad, la tasa de bits y los canales originales, pero reduciendo el tamaño del archivo aproximadamente a la mitad."],
+ "Audio Library-circle-help": ["Chirpity puede organizar los audios en una biblioteca permanente en la ubicación que elijas, como un disco de datos o una unidad de red. Una vez guardados, aunque se eliminen los archivos originales los registros seguirán visibles en la aplicación. Para guardar el audio en la biblioteca hay que ir al menú 'Registros' y elegir 'Guardar en la biblioteca los audios de los resultados' o bien activar la opción 'Añadir a la biblioteca al guardar' que aparece justo debajo. Las grabaciones se guardarán con la siguiente estructura: Sitio de grabación / Año / Mes / Nombre del archivo
El audio 'con pérdida' (Lossy) requiere aproximadamente 1 GB de almacenamiento por cada 24 horas de grabación, mientras que el audio 'sin pérdida' (Lossless) convierte las grabaciones al formato FLAC, preservando la fidelidad, la tasa de bits y los canales originales, pero reduciendo el tamaño del archivo aproximadamente a la mitad."],
"Audio notification-circle-help": ["Si se activa esta opción, aparecerá una notificación del sistema cuando finalicen los análisis que tarden más de treinta segundos."],
"Backend-circle-help": ["La opción webGL/webGPU puede mejorar el rendimiento y reducir el consumo de energía en algunos equipos."],
"Batch Size-circle-help": ["Optimizar el tamaño del lote puede aumentar la velocidad de procesamiento con archivos largos."],
"Clear Call Cache-circle-help": ["Los datos utilizados para las comparaciones de reclamos de referencia se almacenan en la caché. Limpiar la caché actualizará los reclamos de cada especie la siguiente vez que se solicite una comparación."],
"Confidence Threshold-circle-help": ["Determina la confianza mínima requerida para que se ofrezcan resultados."],
"Context Mode-circle-help": ["Si se activa el modo contexto las predicciones tendrán en cuenta el entorno circundante. Solo se puede cambiar antes de un análisis y se recomienda un umbral de confianza inicial bajo, por ejemplo, del 20-30%. El modo contexto no está disponible en el modelo BirdNET."],
- "Crop Library-circle-help": ["Si se activa esta opción los archivos de audio que contienen periodos diurnos se omiten, por lo que solo se guardarían los audios correspondientes a los periodos nocturnos."],
- "Debug Mode-circle-help": ["Entra en el modo de depuración (los cambios en esta configuración requieren reiniciar Chirpity para que surtan efecto)."],
+ "Crop Library-circle-help": ["Si se activa esta opción las grabaciones que contienen periodos diurnos se omiten, por lo que solo se guardarían los audios correspondientes a los periodos nocturnos."],
+ "Debug Mode-circle-help": ["Pasa al modo de depuración (los cambios en esta configuración requieren reiniciar Chirpity para que surtan efecto)."],
"Decorators-circle-help": ["'Rellenar' añade dos segundos antes y después de una selección al audio exportado. 'Desvanecer' añade un efecto de fundido de un segundo, tanto al inicio como al final del audio."],
"Default Location-circle-help": ["Chirpity usa la ubicación para ajustar la hora de la salida y la puesta de sol de las grabaciones."],
"Default Settings-circle-help": ["Restaura los ajustes de configuración a sus valores predeterminados. Importante: hay que reiniciar Chirpity para que se produzcan los cambios; además, los ajustes del idioma deberán restablecerse manualmente."],
@@ -17,7 +17,7 @@
"High Pass Filter-circle-help": ["Si se establece, elimina el ruido de baja frecuencia por debajo del umbral."],
"IUCN-circle-help": ["Si se activa, se muestra la categoría más reciente de la Lista roja de la IUCN para cada una de la especies del resumen. El icono enlaza con la página de la especie de la web de la IUCN. El área mostrará la categoría de la especie en esa región (si estuviese disponible)."],
"Language-circle-help": ["Selecciona el idioma que prefieras para los nombres comunes de las aves."],
- "List-circle-help": ["Filtra las detecciones ofrecidas en los resultados. Aves locales: omite todas las especies que probablemente no se encuentren en tu zona. Aves nocturnas: omite todas las especies que se cree que no reclaman por la noche. La lista personalizada te permite subir un archivo que contenga las especies que desees detectar."],
+ "List-circle-help": ["Filtra las detecciones ofrecidas en los resultados. Aves de la zona: omite todas las especies que probablemente no se encuentren en tu zona. Paso nocturno: omite todas las especies que se cree que no reclaman por la noche. La lista personalizada te permite subir un archivo que contenga las especies que desees detectar."],
"Low Shelf Filter-circle-help": ["Si se utiliza, atenúa los sonidos graves por debajo de la frecuencia de corte."],
"Model-circle-help": ["Selecciona si deseas usar el modelo Nocmig (optimizado para reclamos de migración nocturna en Europa) o BirdNET, que puede identificar más de seis mil especies de todo el mundo."],
"Nocmig Mode-circle-help": ["Si se activa el 'modo Nocmig' sólo se buscarán y se mostrarán detecciones que se localicen durante la noche."],
@@ -25,7 +25,7 @@
"Prevent system sleep-circle-help": ["Si se activa, evita que el sistema se ponga en reposo cuando esté funcionando Chirpity."],
"Send Filtered Audio-circle-help": ["Enviar audios filtrados con 'Paso alto' o 'Atenuación de graves' puede afectar negativamente a la precisión. Hay que usar esta opción con cuidado."],
"Show frequency labels-circle-help": ["Si se activa se mostrarán los valores de la frecuencia del sonograma en el eje vertical."],
- "Signal to Noise Ratio-circle-help": ["Si se activa el filtro SNR, se omitirá cualquier sonido que esté por debajo del umbral. Los valores altos del filtro omiten sonidos más ruidosos. Aunque esto implique que el procesamiento sea más rápido, debe usarse con cuidado experimental puesto que cualquier valor distinto de cero puede excluir detecciones. Consejo: Para encontrar un valor de SNR adecuado realiza primero un análisis en un archivo corto con las detecciones más tenues que puedas identificar con confianza. Luego ve aumentando el valor del SNR hasta que no detectes nada. Una vez que encuentres este umbral, modifícalo al nivel más alto que sea capaz de identificar la especie del ejemplo."],
+ "Signal to Noise Ratio-circle-help": ["Si se activa el filtro SNR, se omitirá cualquier sonido que esté por debajo del umbral. Los valores altos del filtro omiten sonidos más ruidosos. Aunque esto implique que el procesamiento sea más rápido, debe usarse con cuidado experimental puesto que cualquier valor distinto de cero puede excluir detecciones. Consejo: Para encontrar un valor de SNR adecuado realiza primero un análisis en un audio corto con las detecciones más tenues que puedas identificar con confianza. Luego ve aumentando el valor del SNR hasta que no detectes nada. Una vez que encuentres este umbral, modifícalo al nivel más alto que sea capaz de identificar la especie del ejemplo."],
"Species Threshold-circle-help": ["Define la frecuencia mínima de la lista de verificación de eBird para la inclusión de las especies. Si se activa 'Ajustar la lista para la semana del año', la lista se ajustará para que se centre en las especies probables para la semana de grabación."],
"Threads-circle-help": ["Indica el número de análisis paralelos que deberían ejecutarse. Por defecto se establece en el número de núcleos de la CPU del sistema con el fin de lograr un rendimiento más rápido. Con la opción GPU funciona mejor un número bajo; por ejemplo, 1-3."],
"Use Location settings-circle-help": ["Si se activa, el filtro de 'Aves nocturnas' tendrá también en cuenta la ubicación."],
@@ -52,17 +52,17 @@
"chart-datefilter": ["Aplicar un filtro de fecha"],
"explore-datefilter": ["Aplicar un filtro de fecha"],
"active-analysis": ["Volver al análisis activo"],
- "compress-and-organise": ["Guardar en la biblioteca el audio de los resultados del archivo"],
+ "compress-and-organise": ["Guardar en la biblioteca los audios de los resultados"],
"purge-file": ["Eliminar del archivo el registro actual"],
- "analyse": ["Analizar el archivo actual","Ctrl+A"
+ "analyse": ["Analizar la grabación actual","Ctrl+A"
],
"analyseSelection": ["Analizar el intervalo seleccionado"],
- "analyseAll": ["Analizar todos los archivos abiertos","Ctrl+Shift+A"
+ "analyseAll": ["Analizar todas las grabaciones abiertas","Ctrl+Shift+A"
],
- "retrieve": ["Obtener resultados para el archivo actual"],
- "retrieveAll": ["Obtener resultados para todos los archivos abiertos"],
- "reanalyse": ["Reanalizar el archivo actual"],
- "reanalyseAll": ["Reanalizar todos los archivos abiertos"],
+ "retrieve": ["Obtener resultados para la grabación actual"],
+ "retrieveAll": ["Obtener resultados para todas las grabaciones abiertas"],
+ "reanalyse": ["Reanalizar la grabación actual"],
+ "reanalyseAll": ["Reanalizar todas las grabaciones abiertas"],
"usage": ["Uso de Chirpity"],
"settingsHelp": ["Configuraciones"],
"keyboardHelp": ["Atajos de teclado"],
@@ -111,7 +111,7 @@
"font": "Ajustar el tamaño de la fuente",
"normalise": "Normalizar el audio",
"HighPassFrequency": "Filtro de paso alto:",
- "lowShelfFrequency": "Atenuación de graves:",
+ "lowShelfFrequency": "Frecuencia de corte:",
"attenuation": "Atenuación:",
"format": "Formato:",
"bitrate": "Tasa de bits:",
diff --git a/js/i18n.js b/js/i18n.js
index 86ffc53..3e36ed1 100644
--- a/js/i18n.js
+++ b/js/i18n.js
@@ -135,45 +135,45 @@ const i18nToasts = { // UI.js
},
es: {
info: 'Aviso', warning: 'Advertencia', error: 'Error',
- maxFiles: "Chirpity limita el número máximo de archivos abiertos a 25,000. Solo se abrirán los primeros 25,000 de los ${STATE.openFiles.length} intentados.",
- analysisUnderway: "Un análisis está en curso. Presione Esc para cancelarlo antes de iniciar un nuevo análisis.",
- placeOutOfBounds: "La latitud debe estar entre -90 y 90 y la longitud entre -180 y 180.",
- placeNotFound: "No se pudo localizar este lugar. Verifique su conexión a Internet o intente nuevamente más tarde.",
+ maxFiles: "Chirpity limita el número máximo de archivos abiertos a 25.000. Solo se abrirán los primeros 25.000 de los ${STATE.openFiles.length} intentados.",
+ analysisUnderway: "Se está efectuando un análisis. Presione Esc para cancelarlo antes de iniciar un nuevo análisis.",
+ placeOutOfBounds: "La latitud debe estar comprendida entre -90 y 90 y la longitud entre -180 y 180.",
+ placeNotFound: "No se ha podido localizar ese lugar. Verifique su conexión a internet o inténtelo de nuevo más tarde.",
mustFilterSpecies: "Filtre los resultados por especie para exportar archivos de audio.",
- noNode: "No se pudo cargar el backend estándar en esta máquina. En su lugar, se ha utilizado un backend experimental (webGPU).",
+ noNode: "No se ha podido cargar el motor estándar en esta máquina. En su lugar, se ha utilizado un motor experimental (webGPU).",
badMessage: "Mensaje no reconocido del worker: ${args.event}",
- changeListBlocked: "No es posible cambiar la configuración de la lista mientras un análisis está en curso. Sin embargo, la lista sÍ se puede cambiar después de que termine el análisis.",
+ changeListBlocked: "No es posible cambiar la configuración de la lista mientras se está realizando un análisis. No obstante, la configuración sí se puede cambiar después de que termine el análisis.",
cancelled: "Operación cancelada",
- badTime: "Formato de tiempo no válido. Ingrese el tiempo en uno de los siguientes formatos: \n1. Decimal (para segundos) \n2. Dos números separados por dos puntos (para minutos y segundos) \n3. Tres números separados por dos puntos (para horas, minutos y segundos)",
+ badTime: "No se admite ese formato de hora. Indíquelo de alguno de los siguientes modos: \n1. Decimal (para segundos) \n2. Dos números separados por dos puntos (para minutos y segundos) \n3. Tres números separados por dos puntos (para horas, minutos y segundos)",
complete: "Análisis completo.",
- feedback: "Gracias, tu retroalimentación ayuda a mejorar las predicciones de Chirpity.",
- contextBlocked: "No es posible cambiar la configuración del modo de contexto mientras un análisis está en curso.",
- noCallCache: "No se encontró caché de reclamos.",
- callCacheCleared: "El caché de reclamos se ha limpiado correctamente.",
+ feedback: "Gracias, su retroalimentación ayuda a mejorar las predicciones de Chirpity.",
+ contextBlocked: "No es posible cambiar la configuración del modo contexto mientras se está efectuando un análisis.",
+ noCallCache: "No se ha encontrado caché de reclamos.",
+ callCacheCleared: "La caché de reclamos se ha limpiado correctamente.",
badThreshold: "El umbral debe ser un número entre 0.001 y 1.",
labelFileNeeded: "Debe seleccionar un archivo de etiquetas en la configuración de la lista para usar la opción de idioma personalizado.",
listFileNeeded: "Debe cargar una lista personalizada para el modelo antes de usar la opción de lista personalizada.",
- noXC: "La API de Xeno-canto no está respondiendo.",
- noComparisons: "El sitio de Xeno-canto no tiene comparaciones disponibles.",
+ noXC: "La API de Xeno-canto no responde ahora mismo.",
+ noComparisons: "Parece que l sitio de Xeno-canto no tiene comparaciones disponibles.",
noIUCNRecord: "No hay registro de ${sname} en la Lista Roja de la UICN.",
badMetadata: "No se pueden extraer los metadatos esenciales de ${src}",
- noLoad: 'El modelo ${model} no está cargado. Reinicie Chirpity para continuar. Si ve este mensaje repetidamente, es probable que su ordenador no sea compatible con AVX2 y Chirpity no se ejecutará en su sistema.',
- noDLL: 'Ha ocurrido un error al cargar el modelo. Esto puede deberse a la falta de soporte para AVX. Los modelos AI de Chirpity requieren el conjunto de instrucciones AVX2 para funcionar. Si tiene AVX2 habilitado y sigue viendo este mensaje, consulte este problema en Github.',
+ noLoad: 'El modelo ${model} no está cargado. Reinicie Chirpity para continuar. Si ve este mensaje repetidamente es probable que su ordenador no sea compatible con AVX2 y que Chirpity no pueda ejecutarse en su sistema.',
+ noDLL: 'Ha ocurrido un error al cargar el modelo. Esto puede deberse a la falta de soporte para AVX. Los modelos de inteligencia artificial de Chirpity requieren el conjunto de instrucciones AVX2 para funcionar. Si tiene AVX2 habilitado y sigue viendo este mensaje, consulte este problema en Github.',
noFile: "No se puede localizar: ${file}",
ffmpeg: 'Error de FFMPEG al extraer audio: ${error}',
- noNight: 'No se encontraron detecciones. ${file} no tiene un periodo en el que se puedan hacer predicciones. Consejo: Para ver detecciones en este archivo, desactive el modo nocmig y ejecute nuevamente el análisis.',
+ noNight: 'No se encontraron detecciones. ${file} no tiene un periodo en el que se puedan hacer predicciones. Consejo: Para ver detecciones en este archivo desactive el modo nocmig y ejecute otra vez el análisis.',
saveBlocked: "No se puede guardar el archivo ${filePath} porque está abierto en otra aplicación",
goodSave: '${filePath} se ha guardado correctamente.',
- noDetections: "No se encontraron detecciones en la selección",
- noDetectionsDetailed: 'No se encontraron detecciones de ${nocmig} ${species} en ${archive} usando la lista ${list}.',
- noDetectionsDetailed2: 'No se encontraron detecciones en ${file}. Se buscaron registros usando la lista ${list} con una confianza mínima de ${confidence}%',
- dbNotLoaded: "La base de datos no ha terminado de cargarse. Se ha omitido la comprobación de la presencia del archivo en el archivo",
- noSnameFound: "No se puede encontrar '${sname}' (en la línea ${line} de la lista personalizada) en la lista ${model}. Consejos: - ¿Está su lista para el modelo ${model}? Si no es así, cambie el modelo en la configuración
- Verifique si hay un error tipográfico en el nombre de la especie
",
- noArchive: "No se puede acceder a la ubicación del archivo: ${location}.
Operación abortada",
+ noDetections: "No se ha detectado nada en la selección",
+ noDetectionsDetailed: 'No se han encontrado detecciones de ${nocmig} ${species} en ${archive} usando la lista ${list}.',
+ noDetectionsDetailed2: 'No se han encontrado detecciones en ${file}. Se han buscado registros usando la lista ${list} con una confianza mínima de ${confidence}%',
+ dbNotLoaded: "La base de datos no ha terminado de cargarse. Se ha omitido la comprobación de la presencia de la grabación en el archivo",
+ noSnameFound: "No se puede encontrar '${sname}' (en la línea ${line} de la lista personalizada) en la lista ${model}. Consejos: - ¿Está su lista para el modelo ${model}? Si no es así, cambie el modelo en la configuración
- Mire si hay algún error ortográfico en el nombre de la especie
",
+ noArchive: "No se puede acceder a la ubicación del archivo: ${location}.
Operación interrumpida",
noWriteArchive: "No se puede escribir en la ubicación del archivo: ${location}.
Operación abortada",
- multiDay: "Las operaciones de varios días no son compatibles aún: ${file} no se recortará",
- allDaylight: "${file} no se añadirá al archivo ya que está completamente durante el día.",
+ multiDay: "Las operaciones de varios días no son compatibles todavía: ${file} no se recortará",
+ allDaylight: "${file} no se añadirá al archivo ya que se ha grabado en su totalidad de día.",
conversionDone: "Conversión de ${file} terminada",
badConversion: "Error al convertir el archivo ${file}: ${error}"
},
@@ -481,7 +481,7 @@ const i18nHeadings = {
es: {
position: ['Posición', "Ordenar resultados por la hora de detección"],
time: ['Hora', "Ordenar resultados por la hora de detección"],
- species: ['Especies', "Ordenar resultados por confianza en la detección"],
+ species: ['Especies', "Ordenar resultados por el grado de confianza en la detección"],
calls: 'Reclamos',
label: 'Etiqueta',
notes: 'Notas',
@@ -903,10 +903,10 @@ const i18nLIST_MAP = {
custom: 'Verwenden einer benutzerdefinierten Liste'
},
es: {
- location: 'Buscando aves en tu región',
- nocturnal: 'Buscando aves nocturnas',
- birds: 'Buscando todas las aves',
- everything: 'Buscando todo',
+ location: 'Buscando aves de tu zona',
+ nocturnal: 'Buscando paso nocturno',
+ birds: 'Buscando cualquier ave identificable',
+ everything: 'Buscando cualquier sonido identificable',
custom: 'Usando una lista personalizada'
},
fr: {
@@ -1016,17 +1016,17 @@ const i18nTitles = {
},
es: {
"filename": "Haz clic derecho para actualizar la hora de inicio o la ubicación del archivo",
- "controlsWrapper": "Arrastra para cambiar el tamaño de la ventana del espectrograma.",
+ "controlsWrapper": "Arrastra para cambiar el tamaño de la ventana del sonograma.",
"playToggle": "Reproducir / Pausa (Barra espaciadora)",
- "zoomIn": "Acercar el espectrograma (Atajo de teclado: tecla +)",
- "zoomOut": "Alejar el espectrograma (Atajo de teclado: tecla -)",
+ "zoomIn": "Acercar el sonograma (Atajo de teclado: tecla +)",
+ "zoomOut": "Alejar el sonograma (Atajo de teclado: tecla -)",
"nocmigOn": "Modo Nocmig activado",
"nocmigOff": "Modo Nocmig desactivado",
"audioFiltersOn": "Filtros de audio aplicados",
"audioFiltersOff": "Sin filtros de audio",
- "contextModeOn": "Modo contextual activado",
- "contextModeOff": "Modo contextual desactivado",
- "frequency-range": "Ajustar el rango de frecuencias del espectrograma",
+ "contextModeOn": "Modo contexto activado",
+ "contextModeOff": "Modo contexto desactivado",
+ "frequency-range": "Ajustar el rango de frecuencias del sonograma",
"threshold-value": "Umbral de confianza de la predicción",
"clear-custom-list": "Borrar lista personalizada"
},
@@ -1183,10 +1183,10 @@ const i18nTitles = {
custom: 'Benutzerdefiniert'
},
es: {
- location: 'Aves locales',
- nocturnal: 'Aves nocturnas',
+ location: 'Aves de la zona',
+ nocturnal: 'Paso nocturno',
birds: 'Todas las aves',
- everything: 'Todo',
+ everything: 'Cualquier sonido',
custom: 'Personalizado'
},
fr: {
diff --git a/js/ui.js b/js/ui.js
index 60a9dad..4b8c69a 100644
--- a/js/ui.js
+++ b/js/ui.js
@@ -734,7 +734,7 @@ function customAnalysisAllMenu(saved){
${modifier}+Shift+A`;
enableMenuItem(['reanalyseAll']);
} else {
- analyseAllMenu.innerHTML = `search ${STATE.i18n.analyseAll}
+ analyseAllMenu.innerHTML = `search ${STATE.i18n.analyseAll[0]}
${modifier}+Shift+A`;
disableMenuItem(['reanalyseAll']);
}
@@ -744,11 +744,11 @@ function customiseAnalysisMenu(saved) {
const modifier = isMac ? '⌘' : 'Ctrl';
const analyseMenu = document.getElementById('analyse');
if (saved) {
- analyseMenu.innerHTML = `upload_file Get Results for Current File
+ analyseMenu.innerHTML = `upload_file ${STATE.i18n.retrieve}
${modifier}+A`;
enableMenuItem(['reanalyse']);
} else {
- analyseMenu.innerHTML = `search Analyse Current File
+ analyseMenu.innerHTML = `search ${STATE.i18n.analyse[0]}
${modifier}+A`;
disableMenuItem(['reanalyse']);
}