148 lines
10 KiB
JSON
148 lines
10 KiB
JSON
{
|
||
"manifest": {
|
||
"app": {
|
||
"name": "Miniaturas de Spine"
|
||
}
|
||
},
|
||
"thumb": {
|
||
"title": "Miniaturas de Spine",
|
||
"noticeIntro": "Después de importar recursos de Spine (.skel / .json + .atlas + texturas), este complemento crea una vista previa del esqueleto para los elementos que aún no tienen una miniatura personalizada.",
|
||
"noticeSafety": "Solo se procesan los elementos recién importados. No se buscan ni modifican elementos existentes y nunca se sobrescriben las miniaturas personalizadas.",
|
||
"noticeCompound": "Los campos de nombre y tipo de Eagle solo se ajustan después de confirmar los valores actuales y nuevos de los elementos con extensión compuesta. Los valores originales se guardan y pueden restaurarse.",
|
||
"noticeModes": "Animado usa la primera animación y exporta WebP. Estático siempre usa la pose de configuración.",
|
||
"noticeDefault": "La generación automática está desactivada de forma predeterminada. Actívala abajo cuando la necesites.",
|
||
"autoToggle": "Generar miniaturas al importar",
|
||
"clear": "Borrar registro",
|
||
"restoreNames": "Restaurar nombres/tipos",
|
||
"compoundConfirmTitle": "Confirmar cambio de extensión compuesta",
|
||
"compoundConfirmIntro": "Debido a la naturaleza especial de los archivos con extensión compuesta, Eagle debe ajustar los campos de nombre y tipo de estos elementos para mostrar las miniaturas generadas. Los valores originales se guardarán y podrán restaurarse desde este complemento.",
|
||
"compoundOldValue": "Actual",
|
||
"compoundNewValue": "Nuevo",
|
||
"compoundSkip": "Omitir y continuar",
|
||
"compoundConfirm": "Aplicar cambios",
|
||
"compoundConfirmSelected": "Aplicar seleccionados ({count})",
|
||
"compoundSkipped": "Se omitió {label}: no se aprobó el cambio de extensión compuesta",
|
||
"compoundSourceMismatch": "Se omitió {label}: el nombre de Eagle {current} no coincide con el archivo de origen {source}",
|
||
"compoundCheckFailed": "No se pudo comprobar la extensión compuesta de {label}: {error}",
|
||
"compoundNeedsConfirmation": "Se omitió {label}: los campos cambiaron después de confirmar; vuelve a revisarlo",
|
||
"compoundBackupUnavailable": "No se pueden cambiar extensiones compuestas porque no se pudieron guardar los valores originales",
|
||
"compoundRolledBack": "La generación falló; se restauraron el nombre y el tipo de {label}",
|
||
"compoundRollbackFailed": "La generación falló y no se pudo restaurar {label} automáticamente: {error}",
|
||
"restoreEmpty": "No hay cambios de nombre/tipo guardados para restaurar",
|
||
"restoreTitle": "Seleccionar elementos para restaurar",
|
||
"restoreIntro": "Estos elementos tienen valores originales guardados. Los elementos restaurables se seleccionan todos de forma predeterminada; los modificados por el usuario o ilegibles no se pueden seleccionar.",
|
||
"restoreCurrent": "Actual",
|
||
"restoreTarget": "Restaurar a",
|
||
"restoreStatusReady": "El elemento se modificó a {fields}",
|
||
"restoreStatusAlreadyOriginal": "Ya tiene el valor original; al confirmar solo se eliminará la copia de seguridad",
|
||
"restoreStatusChanged": "Los campos actuales fueron modificados por el usuario y se omitirán",
|
||
"restoreStatusMissing": "El elemento no existe y no se puede restaurar",
|
||
"restoreStatusError": "No se pudieron leer los valores actuales y no se puede restaurar",
|
||
"restoreCancel": "Cancelar",
|
||
"restoreSelected": "Restaurar seleccionados ({count})",
|
||
"restoreComplete": "Restauración completada: {success} correctos, {skipped} omitidos, {failed} fallidos.",
|
||
"restoreFailed": "No se pudieron restaurar nombres/tipos: {error}",
|
||
"modeLabel": "Modo de generación",
|
||
"modeAnimated": "Animado (primera animación)",
|
||
"modeStatic": "Estático (pose de configuración)",
|
||
"strategyLabel": "Estrategia",
|
||
"strategySize": "Archivo más pequeño (lento)",
|
||
"strategySpeed": "Más rápido (rápido)",
|
||
"statusLabel": "Estado",
|
||
"statusStarting": "Iniciando…",
|
||
"libraryLabel": "Biblioteca",
|
||
"statsLabel": "Estadísticas",
|
||
"filterAll": "Todo",
|
||
"filterOk": "Correcto",
|
||
"filterFail": "Fallido",
|
||
"filterWarn": "Aviso",
|
||
"filterError": "Error",
|
||
"unknownError": "Error desconocido",
|
||
"scriptError": "Error de script: {error}",
|
||
"promiseError": "Error de Promise no controlado: {error}",
|
||
"uncategorized": "Sin categoría",
|
||
"reasonQuiet": "fin de actividad",
|
||
"reasonFallback": "exploración de respaldo",
|
||
"none": "ninguno",
|
||
"complete": "completo",
|
||
"incomplete": "incompleto",
|
||
"statusLoaded": "Script {version} cargado; esperando eventos de Eagle…",
|
||
"statusEagleMissing": "API de Eagle no disponible",
|
||
"statusListening": "Supervisando",
|
||
"statusListenFailed": "Error de supervisión",
|
||
"statusAutoOff": "Supervisando (generación automática desactivada)",
|
||
"statusNoLibrary": "Ruta de la biblioteca no disponible",
|
||
"statusPairing": "Emparejando recursos nuevos…",
|
||
"statusPairingProgress": "Emparejando {current}/{total}",
|
||
"statusRendering": "Renderizando fotograma {current}/{total} ({queued} en cola)",
|
||
"statusGenerating": "Generando miniaturas… quedan {queued}",
|
||
"statusPaused": "En pausa (continúa o cancela en la ventana de progreso)",
|
||
"statusAutoSkipped": "La generación automática está desactivada; se omitió este lote",
|
||
"statusStartFailed": "Error al iniciar: {error}",
|
||
"stats": "Lotes {batches} · Añadidos {added} · Spine {spine} · Completos {complete} · Generados {generated} · Omitidos {skipped} · Fallidos {failed}",
|
||
"modulesMissing": "Módulos locales no cargados: {modules}",
|
||
"moduleLoadError": "No se cargaron los módulos locales. Revisa el orden de scripts en index.html: {modules}",
|
||
"version": "Versión del código del complemento {version}",
|
||
"pluginCreated": "Complemento creado: {name}",
|
||
"settingsReadFailed": "No se pudieron leer los ajustes; se usarán los valores predeterminados (generación automática desactivada): {error}",
|
||
"settingsSaveFailed": "No se pudieron guardar los ajustes: {error}",
|
||
"autoEnabled": "Generación automática activada. Los nuevos recursos de Spine importados recibirán miniaturas.",
|
||
"autoDisabled": "Generación automática desactivada; se vació la cola pendiente.",
|
||
"modeStaticLog": "Modo de generación: estático (siempre pose de configuración, PNG)",
|
||
"modeAnimatedLog": "Modo de generación: animado (primera animación como WebP; pose de configuración si no hay animación)",
|
||
"strategySpeedLog": "Estrategia: más rápida (estimación y solo los perfiles más pequeños)",
|
||
"strategySizeLog": "Estrategia: archivo más pequeño (genera los diez perfiles y conserva el menor)",
|
||
"missingItem": "Se omitió {label}: elemento no encontrado en Eagle",
|
||
"suffixFixed": "Extensión compuesta corregida para {label} → {name}",
|
||
"suffixFailed": "No se pudo corregir la extensión compuesta de {label}: {error}",
|
||
"existingThumbnail": "Se omitió {label}: ya existe una miniatura personalizada",
|
||
"thumbnailRejected": "Eagle rechazó esta miniatura",
|
||
"generated": "{label} generado | {details} | Spine {version}",
|
||
"generateFailed": "Error al generar {label}: {error}",
|
||
"cancelled": "Generación cancelada: se descartaron {dropped} pendientes. Completados {done} (correctos {generated}, fallidos {failed}, omitidos {skipped})",
|
||
"batchFailed": "Error al procesar el lote importado: {error}",
|
||
"batchFinished": "Lote finalizado: {added} añadidos, {total} en la biblioteca ({reason})",
|
||
"recheck": "Revisando de nuevo {count} recursos previamente incompletos",
|
||
"noSpine": "No hay recursos de Spine en este lote",
|
||
"incompletePending": "{count} recursos están incompletos y se revisarán tras importaciones posteriores",
|
||
"incompleteIgnored": "{count} recursos están incompletos y no se procesaron en este lote",
|
||
"itemSummary": " {name} | {path} | {state} | esqueleto {skeleton} | atlas {atlas} | páginas {pages} (faltan {missing})",
|
||
"autoSkipped": "La generación automática está desactivada; se omitieron {count} recursos de este lote",
|
||
"queued": "{added} añadidos a la cola; {queued} esperando{state}",
|
||
"queuedRunning": " (procesando)",
|
||
"libraryInfoNoPath": "library.info() no devolvió una ruta: {info}",
|
||
"libraryInfoFailed": "Error de library.info(): {error}",
|
||
"switchingLibrary": "Cambiando de biblioteca: {path}",
|
||
"noCreateEvent": "No se recibió el evento de creación; intentando iniciar directamente",
|
||
"watching": "Supervisando {path} ({count} elementos existentes tratados como historial)",
|
||
"watchReadFailed": "No se pudo leer el directorio de recursos: {error}",
|
||
"watchMissingDir": "No existe el directorio de recursos: {path}",
|
||
"watchFailed": "No se pudo iniciar la supervisión: {error}",
|
||
"fixSuffixAction": "Corrigiendo extensión compuesta de {label}",
|
||
"renderAction": "Renderizando {label}",
|
||
"setThumbnailAction": "Estableciendo miniatura de {label}",
|
||
"thumbnailDetailsAnimated": "Animado {size}@{fps}fps/q{quality}/{kb}KB (objetivo {target}KB)/{frames} fotogramas/animación {animation}/{strategy}{limit}",
|
||
"thumbnailDetailsStatic": "Estático {width}×{height}/{kb}KB{fallback}",
|
||
"bestSpeed": "más rápido",
|
||
"bestSize": "archivo más pequeño",
|
||
"fallbackNote": " ({text})",
|
||
"fallbackNoAnimation": "el esqueleto no tiene animaciones",
|
||
"fallbackAnimatedFailed": "falló la generación animada: {error}",
|
||
"limitNote": " (incluso el perfil más pequeño supera el objetivo; considera aumentar el tamaño de la miniatura)",
|
||
"runSummary": "{generated} correctos, {failed} fallidos, {skipped} omitidos en {seconds} segundos."
|
||
},
|
||
"progress": {
|
||
"title": "Miniaturas de Spine",
|
||
"generating": "Generando miniaturas animadas…",
|
||
"waiting": "Esperando para iniciar…",
|
||
"confirmPrompt": "¿Cancelar esta ejecución?",
|
||
"resume": "Continuar",
|
||
"cancel": "Confirmar cancelación",
|
||
"stop": "Detener",
|
||
"confirm": "Listo",
|
||
"generatedConfirm": "Se generaron {done} miniaturas. ¿Cancelar esta ejecución?",
|
||
"complete": "Completado",
|
||
"completed": "Completado {done} / {total} ({percent}%)"
|
||
}
|
||
}
|