Files

146 lines
13 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
"theme.dark": "Tema Oscuro",
"theme.light": "Tema Claro",
"theme.toggleTitle": "Alternar modo claro / oscuro",
"theme.toggleAriaLabel": "Alternar modo claro/oscuro",
"dropHint.text": "Arrastra aquí un archivo <strong>.stl</strong>, <strong>.obj</strong> o <strong>.3mf</strong><br/>o <label for=\"stl-file-input\" class=\"link-label\">haz clic para explorar</label>",
"ui.wireframe": "Malla de alambre",
"ui.perspective": "Vista en perspectiva",
"ui.controlsHint": "Arrastrar izq.: orbitar  ·  Arrastrar der.: desplazar  ·  Rueda: zoom",
"ui.meshInfo": "{n} triángulos · {mb} MB · {sx} × {sy} × {sz} mm",
"ui.loadStl": "Cargar modelo…",
"ui.localProcessingNote": "Todo el procesamiento se realiza localmente en tu navegador — no se suben datos.",
"sections.displacementMap": "Mapa de desplazamiento",
"ui.uploadCustomMap": "Subir mapa personalizado",
"ui.noMapSelected": "Ningún mapa seleccionado",
"sections.projection": "Proyección",
"labels.mode": "Modo",
"projection.triplanar": "Triplanar",
"projection.cubic": "Cúbica (Caja)",
"projection.cylindrical": "Cilíndrica",
"projection.spherical": "Esférica",
"projection.planarXY": "Planar XY",
"projection.planarXZ": "Planar XZ",
"projection.planarYZ": "Planar YZ",
"sections.transform": "Transformación",
"labels.scaleU": "Escala U",
"labels.scaleV": "Escala V",
"labels.offsetU": "Desplazamiento U",
"labels.offsetV": "Desplazamiento V",
"labels.rotation": "Rotación",
"tooltips.proportionalScaling": "Escalado proporcional (U = V)",
"tooltips.proportionalScalingAria": "Escalado proporcional (U = V)",
"sections.displacement": "Profundidad de textura",
"labels.amplitude": "Amplitud",
"labels.seamBlend": "Fusión de costuras ⓘ",
"tooltips.seamBlend": "Suaviza la costura donde se unen las caras de proyección. Efectivo para los modos Cúbico y Cilíndrico.",
"labels.transitionSmoothing": "Suavizado de transición ⓘ",
"tooltips.transitionSmoothing": "Ancho de la zona de fusión cerca de los bordes de la costura. Valores bajos mantienen las transiciones pegadas a la costura; valores altos difuminan una banda más amplia.",
"labels.textureSmoothing": "Suavizado de textura ⓘ",
"tooltips.textureSmoothing": "Aplica un desenfoque gaussiano al mapa de desplazamiento. Valores más altos producen detalles de superficie más suaves y graduales. 0 = desactivado.",
"labels.capAngle": "Ángulo de tapa ⓘ",
"tooltips.capAngle": "Ángulo (en grados) desde la vertical en el que se activa la proyección de tapa superior/inferior. Valores más pequeños limitan la proyección a caras casi planas.",
"sections.masking": "Enmascaramiento",
"sections.maskAngles": "Por ángulo ⓘ",
"tooltips.maskAngles": "0° = sin enmascaramiento. Las superficies dentro de este ángulo respecto a la horizontal no serán texturizadas.",
"labels.bottomFaces": "Caras inferiores",
"tooltips.bottomFaces": "Eliminar textura en superficies orientadas hacia abajo dentro de este ángulo respecto a la horizontal",
"labels.topFaces": "Caras superiores",
"tooltips.topFaces": "Eliminar textura en superficies orientadas hacia arriba dentro de este ángulo respecto a la horizontal",
"sections.surfaceMasking": "Por superficie ⓘ",
"sections.surfaceSelection": "Selección de superficies",
"tooltips.surfaceMasking": "Enmascarar superficies para controlar qué áreas reciben desplazamiento.",
"tooltips.surfaceSelection": "Las superficies seleccionadas aparecen en verde y serán las únicas en recibir desplazamiento durante la exportación.",
"excl.modeExclude": "Excluir",
"excl.modeExcludeTitle": "Modo Excluir: las superficies pintadas no recibirán desplazamiento de textura",
"excl.modeIncludeOnly": "Solo incluir",
"excl.modeIncludeOnlyTitle": "Modo Solo incluir: solo las superficies pintadas recibirán desplazamiento de textura",
"excl.toolBrush": "Pincel",
"excl.toolBrushTitle": "Pincel: pintar triángulos para excluir",
"excl.toolFill": "Relleno",
"excl.toolFillTitle": "Relleno: rellenar superficie hasta un ángulo umbral",
"excl.shiftHint": "Mantén Shift para borrar",
"labels.type": "Tipo",
"brushType.single": "Individual",
"brushType.circle": "Círculo",
"labels.size": "Tamaño",
"labels.maxAngle": "Ángulo máx.",
"tooltips.maxAngle": "Ángulo diedro máximo entre triángulos adyacentes que el relleno puede cruzar",
"ui.clearAll": "Borrar todo",
"excl.initExcluded": "0 caras enmascaradas",
"excl.faceExcluded": "{n} cara enmascarada",
"excl.facesExcluded": "{n} caras enmascaradas",
"excl.faceSelected": "{n} cara seleccionada",
"excl.facesSelected": "{n} caras seleccionadas",
"excl.hintExclude": "Las superficies enmascaradas aparecen en naranja y no recibirán desplazamiento durante la exportación.",
"excl.hintInclude": "Las superficies seleccionadas aparecen en verde y serán las únicas en recibir desplazamiento durante la exportación.",
"precision.label": "Precisión (Beta) ⓘ",
"precision.labelTitle": "Subdivide la malla en segundo plano para que el pincel seleccione con mayor granularidad",
"precision.outdated": "⚠ Desactualizado",
"precision.refreshTitle": "Resubdividir la malla para ajustarla al tamaño actual del pincel",
"precision.triCount": "{n} △",
"precision.refining": "Refinando…",
"precision.warningBody": "Estimados ~{n} triángulos. Esto puede ralentizar el navegador. ¿Continuar?",
"labels.boundaryFalloff": "Suavizar máscara ⓘ",
"tooltips.boundaryFalloff": "Reduce gradualmente el desplazamiento a cero cerca de los bordes enmascarados, evitando superposiciones de triángulos entre zonas texturizadas y no texturizadas.",
"labels.symmetricDisplacement": "Desplazamiento simétrico ⓘ",
"tooltips.symmetricDisplacement": "Cuando está activado, el gris al 50% = sin desplazamiento; el blanco empuja hacia fuera, el negro empuja hacia dentro. Mantiene el volumen de la pieza aproximadamente constante.",
"labels.displacementPreview": "Vista previa 3D ⓘ",
"tooltips.displacementPreview": "Subdivide la malla y desplaza los vértices en tiempo real para evaluar la profundidad real. Uso intensivo de GPU en modelos complejos.",
"ui.placeOnFace": "Colocar en cara",
"ui.placeOnFaceTitle": "Haz clic en una cara para orientarla hacia abajo sobre la cama de impresión",
"progress.subdividingPreview": "Preparando vista previa…",
"warnings.amplitudeOverlap": "⚠ La amplitud supera el 10% de la dimensión más pequeña del modelo — pueden ocurrir superposiciones de geometría en el STL exportado.",
"sections.export": "Exportar ⓘ",
"tooltips.export": "Menor longitud de arista = mayor detalle de desplazamiento. La salida se reduce al límite de triángulos.",
"labels.resolution": "Resolución",
"tooltips.resolution": "Las aristas más largas que este valor se subdividirán durante la exportación",
"labels.outputTriangles": "Triángulos de salida",
"tooltips.outputTriangles": "La malla se subdivide completamente primero y luego se reduce a esta cantidad",
"warnings.safetyCapHit": "⚠ Se alcanzó el límite de seguridad de 20M de triángulos durante la subdivisión — el resultado puede ser más grueso que la longitud de arista solicitada.",
"ui.exportStl": "Exportar STL",
"progress.subdividing": "Subdividiendo malla…",
"progress.refining": "Refinando: {cur} triángulos, arista más larga {edge}",
"progress.applyingDisplacement": "Aplicando desplazamiento a {n} triángulos…",
"progress.displacingVertices": "Desplazando vértices…",
"progress.decimatingTo": "Simplificando {from} → {to} triángulos…",
"progress.decimating": "Simplificando: {cur} → {to} triángulos",
"progress.writingStl": "Escribiendo STL…",
"progress.done": "¡Listo!",
"progress.processing": "Procesando…",
"license.btn": "Licencia y condiciones",
"license.title": "Licencia y condiciones",
"license.item1": "Uso gratuito para cualquier propósito, incluyendo <strong>trabajo comercial</strong> (p. ej., texturizado de STLs para clientes o productos).",
"license.item2": "La atribución es <strong>apreciada</strong> pero <strong>no obligatoria</strong> al usar esta herramienta tal cual.",
"license.item3": "¿Quieres apoyar esta herramienta? Compra en <a href=\"https://geni.us/CNCStoreTexture\" target=\"_blank\" rel=\"noopener\">CNCKitchen.STORE</a> o dona en <a href=\"https://www.paypal.me/CNCKitchen\" target=\"_blank\" rel=\"noopener\">PayPal</a>.",
"license.item4": "Esta herramienta se proporciona <strong>tal cual</strong> sin <strong>ninguna garantía</strong> de ningún tipo. Úsala bajo tu propio riesgo.",
"license.item5": "<strong>No se proporciona soporte</strong>. El autor no tiene obligación de corregir errores, responder preguntas ni actualizar esta herramienta. Dicho esto, los informes de errores y solicitudes de funciones son siempre bienvenidos en <a href=\"mailto:texturizer@cnckitchen.com\">texturizer@cnckitchen.com</a>.",
"license.item6": "El autor no será responsable de <strong>daños</strong>, pérdida de datos o problemas derivados del uso de esta herramienta.",
"license.item7": "¿Quieres licenciar o integrar esta herramienta para tu negocio o sitio web? Contáctanos en <a href=\"mailto:contact@cnckitchen.com\">contact@cnckitchen.com</a>.",
"license.item8": "Código fuente disponible en <a href=\"https://github.com/CNCKitchen/stlTexturizer\" target=\"_blank\" rel=\"noopener\">GitHub</a>.",
"imprint.btn": "Aviso legal y privacidad",
"imprint.title": "Aviso legal y política de privacidad",
"imprint.sectionImprint": "Aviso legal (Impressum)",
"imprint.info": "CNC Kitchen<br>Stefan Hermann<br>Bahnhofstr. 2<br>88145 Hergatz<br>Alemania",
"imprint.contact": "Correo: <a href=\"mailto:contact@cnckitchen.com\">contact@cnckitchen.com</a><br>Teléfono: +49 175 2011824<br><em>El número de teléfono es exclusivamente para consultas legales/comerciales — no para soporte.</em>",
"imprint.odr": "Plataforma de resolución de litigios en línea de la UE: <a href=\"https://ec.europa.eu/consumers/odr\" target=\"_blank\" rel=\"noopener\">https://ec.europa.eu/consumers/odr</a>",
"imprint.sectionPrivacy": "Política de privacidad (Datenschutzerklärung)",
"imprint.privacyIntro": "<strong>Responsable</strong> (Verantwortlicher gem. Art. 4 Abs. 7 DSGVO): Stefan Hermann, Bahnhofstr. 2, 88145 Hergatz, Alemania.",
"imprint.privacyHosting": "Este sitio web está alojado en <strong>GitHub Pages</strong> (GitHub Inc. / Microsoft Corp., 88 Colin P Kelly Jr St, San Francisco, CA 94107, EE.UU.). Al visitar este sitio, GitHub puede procesar tu dirección IP en los registros del servidor. Base legal: Art. 6(1)(f) RGPD (interés legítimo en proporcionar el sitio web). Ver <a href=\"https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement\" target=\"_blank\" rel=\"noopener\">Declaración de privacidad de GitHub</a>.",
"imprint.privacyLocal": "Esta herramienta almacena las preferencias del usuario (idioma, tema) en el <strong>localStorage</strong> de tu navegador. Estos datos nunca salen de tu dispositivo ni se transmiten a ningún servidor.",
"imprint.privacyNoCookies": "Este sitio web <strong>no</strong> utiliza cookies, herramientas de análisis ni tecnologías de rastreo.",
"imprint.privacyExternal": "Este sitio contiene enlaces a sitios web externos (p. ej., CNCKitchen.STORE, PayPal). Estos sitios tienen sus propias políticas de privacidad, sobre las cuales no tenemos control.",
"imprint.privacyRights": "Según el RGPD, tienes derecho a <strong>acceso, rectificación, supresión, limitación del tratamiento, portabilidad de datos</strong> y derecho a <strong>presentar una reclamación</strong> ante una autoridad de control.",
"sponsor.title": "¡Gracias por usar BumpMesh de CNC Kitchen!",
"sponsor.body": "Esta herramienta es proporcionada <strong>completamente gratis</strong> por CNC Kitchen.<br>Mientras se procesa tu STL, ¿por qué no echas un vistazo a la tienda que nos ayuda a seguir creando cosas geniales para ti?",
"sponsor.visitStore": "🛒 Visitar CNCKitchen.STORE",
"sponsor.donate": "💙 Donar en PayPal",
"sponsor.dontShow": "No mostrar de nuevo",
"sponsor.closeAndContinue": "Cerrar y continuar",
"cta.store": "¿Quieres apoyar esta herramienta? Compra en <a href=\"https://geni.us/CNCStoreTexture\" target=\"_blank\" rel=\"noopener noreferrer\">CNCKitchen.STORE</a> o dona en <a href=\"https://www.paypal.me/CNCKitchen\" target=\"_blank\" rel=\"noopener noreferrer\">PayPal</a>",
"cta.storeDismiss": "Cerrar",
"alerts.loadFailed": "No se pudo cargar el modelo: {msg}",
"alerts.exportFailed": "Error en la exportación: {msg}",
"alerts.fileTooLarge": "Archivo demasiado grande ({size} MB). Máximo: {max} MB."
};