470 lines
22 KiB
JSON
470 lines
22 KiB
JSON
{
|
|
"editor": {
|
|
"toolbar": {
|
|
"languageMode": "Modo de lenguaje",
|
|
"compile": {
|
|
"addBoard": "Añadir una placa para compilar",
|
|
"loading": "Cargando…",
|
|
"loadMicropython": "Cargar MicroPython",
|
|
"compile": "Compilar (Ctrl+B)"
|
|
},
|
|
"run": {
|
|
"addBoard": "Añadir una placa para ejecutar",
|
|
"runMicropython": "Ejecutar MicroPython",
|
|
"run": "Ejecutar (compila automáticamente si es necesario)",
|
|
"runActiveOnly": "Ejecutar solo {{name}}",
|
|
"options": "Opciones de ejecución"
|
|
},
|
|
"stop": "Detener",
|
|
"reset": "Reiniciar",
|
|
"compileAll": "Compilar todas las placas",
|
|
"runAll": "Ejecutar todas las placas",
|
|
"libraries": {
|
|
"title": "Buscar e instalar librerías Arduino",
|
|
"label": "Librerías"
|
|
},
|
|
"import": "Importar proyecto (.vlx Velxio o .zip Wokwi)",
|
|
"export": "Exportar el proyecto actual como archivo .zip",
|
|
"uploadFirmware": "Subir firmware (.hex, .bin, .elf, .ihex) para omitir la compilación",
|
|
"toggleConsole": "Alternar consola de salida",
|
|
"libHint": {
|
|
"message": "¿Falta una librería? Instálala desde el",
|
|
"cta": "Administrador de librerías",
|
|
"dismiss": "Descartar"
|
|
},
|
|
"exportBom": "Exportar lista de materiales (CSV — Pro)",
|
|
"exportScreenshot": "Exportar esquemático como imagen (PNG — Pro)",
|
|
"importLabel": "Importar proyecto",
|
|
"exportLabel": "Exportar proyecto (.zip)",
|
|
"exportBomLabel": "Lista de materiales (CSV)",
|
|
"exportScreenshotLabel": "Imagen del esquema (PNG)",
|
|
"shareLabel": "Compartir / Insertar",
|
|
"githubSyncLabel": "Sincronizar con GitHub",
|
|
"uploadFirmwareLabel": "Subir firmware",
|
|
"recordLabel": "Grabar simulación"
|
|
},
|
|
"fileExplorer": {
|
|
"workspace": "ESPACIO DE TRABAJO",
|
|
"newWorkspace": "Nuevo espacio de trabajo (borra placas, componentes, cables y archivos)",
|
|
"confirmNew": {
|
|
"title": "¿Iniciar un nuevo espacio de trabajo?",
|
|
"message": "Esto borra todas las placas, componentes, cables y archivos. No se puede deshacer.",
|
|
"confirm": "Empezar de nuevo",
|
|
"cancel": "Cancelar"
|
|
},
|
|
"confirmLoad": {
|
|
"title": "¿Cargar proyecto?",
|
|
"message": "¿Cargar este proyecto {{type}}? Tu espacio de trabajo actual será reemplazado. No se puede deshacer.",
|
|
"confirm": "Cargar"
|
|
},
|
|
"saveProject": "Guardar proyecto (Ctrl+S)",
|
|
"clickToEdit": "clic para editar",
|
|
"collapse": "Contraer",
|
|
"expand": "Expandir",
|
|
"newFileInBoard": "Nuevo archivo en esta placa",
|
|
"unsavedChanges": "Cambios sin guardar",
|
|
"unsavedSuffix": "sin guardar",
|
|
"emptyState": "Añade una placa al lienzo para empezar a editar código.",
|
|
"confirmDelete": "¿Eliminar este archivo?",
|
|
"status": {
|
|
"running": "Ejecutando",
|
|
"compiled": "Compilado",
|
|
"idle": "Inactivo"
|
|
},
|
|
"contextMenu": {
|
|
"rename": "Renombrar",
|
|
"delete": "Eliminar"
|
|
}
|
|
},
|
|
"fileTabs": {
|
|
"unsavedChanges": "Cambios sin guardar",
|
|
"close": "Cerrar",
|
|
"confirmClose": "¿Cerrar archivo con cambios sin guardar?",
|
|
"closeAnyway": "Cerrar de todas formas",
|
|
"cancel": "Cancelar"
|
|
},
|
|
"loginPrompt": {
|
|
"title": "Inicia sesión para guardar tu proyecto",
|
|
"body": "Crea una cuenta gratuita para guardar y compartir tus proyectos.",
|
|
"createAccount": "Crear cuenta",
|
|
"cancel": "Cancelar"
|
|
},
|
|
"saveProject": {
|
|
"titleSave": "Guardar proyecto",
|
|
"titleUpdate": "Actualizar proyecto",
|
|
"nameLabel": "Nombre del proyecto *",
|
|
"namePlaceholder": "Mi proyecto increíble",
|
|
"descriptionLabel": "Descripción",
|
|
"descriptionPlaceholder": "Opcional",
|
|
"save": "Guardar",
|
|
"update": "Actualizar",
|
|
"saving": "Guardando…",
|
|
"cancel": "Cancelar",
|
|
"visibility": {
|
|
"public": "Público",
|
|
"publicHint": "Cualquiera con el enlace puede verlo",
|
|
"private": "Privado",
|
|
"privateHint": "Solo tú puedes ver esto"
|
|
},
|
|
"errors": {
|
|
"nameRequired": "El nombre del proyecto es obligatorio.",
|
|
"unreachable": "Servidor inalcanzable. Verifica tu conexión e inténtalo de nuevo.",
|
|
"notAuth": "No autenticado. Inicia sesión e inténtalo de nuevo.",
|
|
"failedStatus": "Error al guardar ({{status}})."
|
|
}
|
|
},
|
|
"share": {
|
|
"title": "Compartir proyecto",
|
|
"public": "Público",
|
|
"private": "Privado",
|
|
"publicHint": "Cualquiera con el enlace puede ver este proyecto",
|
|
"privateHint": "Solo tú puedes ver este proyecto",
|
|
"makePrivate": "Hacer privado",
|
|
"makePublic": "Hacer público",
|
|
"copy": "Copiar",
|
|
"privateWarning": "Este proyecto es privado. Otros verán un error 403 al abrir este enlace.",
|
|
"close": "Cerrar"
|
|
},
|
|
"canvas": {
|
|
"status": {
|
|
"running": "Ejecutando",
|
|
"stopped": "Detenido"
|
|
},
|
|
"activeBoard": "Placa activa",
|
|
"noBoard": "Sin placa",
|
|
"noBoardHint": "No hay placa en el lienzo — añade una con el botón Añadir para compilar y ejecutar código",
|
|
"undo": {
|
|
"label": "Deshacer",
|
|
"title": "Deshacer: {{description}} (Ctrl+Z)",
|
|
"empty": "Nada que deshacer"
|
|
},
|
|
"redo": {
|
|
"label": "Rehacer",
|
|
"title": "Rehacer: {{description}} (Ctrl+Y)",
|
|
"empty": "Nada que rehacer"
|
|
},
|
|
"toggleSerialMonitor": "Alternar monitor serie",
|
|
"serial": "Serie",
|
|
"toggleScope": "Alternar osciloscopio / analizador lógico",
|
|
"scope": "Osciloscopio",
|
|
"zoomIn": "Acercar",
|
|
"zoomOut": "Alejar",
|
|
"resetView": "Restablecer vista (clic para restablecer)",
|
|
"componentCount_one": "{{count}} componente",
|
|
"componentCount_other": "{{count}} componentes",
|
|
"addComponentTitle": "Añadir componente",
|
|
"add": "Añadir",
|
|
"dismiss": "Descartar",
|
|
"removeBoard": "Eliminar placa",
|
|
"wireCount_one": "{{count}} cable",
|
|
"wireCount_other": "{{count}} cables",
|
|
"removeConfirm": {
|
|
"boardFallback": "Placa",
|
|
"title": "¿Eliminar {{label}}?",
|
|
"body": "Esto eliminará la placa del espacio de trabajo. Esta acción no se puede deshacer.",
|
|
"bodyWithWires_one": "Esto eliminará la placa del espacio de trabajo y {{count}} cable conectado. Esta acción no se puede deshacer.",
|
|
"bodyWithWires_other": "Esto eliminará la placa del espacio de trabajo y {{count}} cables conectados. Esta acción no se puede deshacer.",
|
|
"cancel": "Cancelar",
|
|
"remove": "Eliminar"
|
|
}
|
|
},
|
|
"componentPicker": {
|
|
"title": "Añadir componente",
|
|
"close": "Cerrar",
|
|
"searchPlaceholder": "Buscar componentes...",
|
|
"clearSearch": "Limpiar búsqueda",
|
|
"allComponents": "Todos los componentes",
|
|
"boards": "Placas",
|
|
"loading": "Cargando componentes...",
|
|
"noResults": "No se encontraron componentes",
|
|
"clearFilters": "Limpiar filtros"
|
|
},
|
|
"libraryManager": {
|
|
"title": "ADMINISTRADOR DE LIBRERÍAS",
|
|
"searchTab": "Buscar",
|
|
"installedTab": "Instaladas",
|
|
"filterPlaceholder": "Filtrar tu búsqueda...",
|
|
"searchingFor": "Buscando \"{{query}}\"…",
|
|
"loadingLibraries": "Cargando librerías…",
|
|
"noResults": "No hay librerías disponibles",
|
|
"noResultsFor": "No se encontraron librerías para \"{{query}}\"",
|
|
"byAuthor": "por {{author}}",
|
|
"install": "INSTALAR",
|
|
"installing": "Instalando...",
|
|
"uninstall": "DESINSTALAR",
|
|
"uninstalling": "Desinstalando...",
|
|
"loadingInstalled": "Cargando librerías instaladas...",
|
|
"noneInstalled": "Aún no hay librerías instaladas.",
|
|
"useSearchTab": "Usa la pestaña Buscar para instalar librerías."
|
|
},
|
|
"installLibs": {
|
|
"title": "LIBRERÍAS REQUERIDAS",
|
|
"installingProgress": "Instalando {{done}} de {{total}}…",
|
|
"allDone": "Todas las librerías se instalaron correctamente",
|
|
"required_one": "Este proyecto requiere {{count}} librería. Instálala para compilar correctamente.",
|
|
"required_other": "Este proyecto requiere {{count}} librerías. Instálalas para compilar correctamente.",
|
|
"wokwiHosted": "Librería alojada por Wokwi",
|
|
"pending": "pendiente",
|
|
"installing": "instalando…",
|
|
"installed": "instalada",
|
|
"errorStatus": "error",
|
|
"close": "Cerrar",
|
|
"skip": "Omitir",
|
|
"installAll": "Instalar todas ({{count}})",
|
|
"installingShort": "Instalando…"
|
|
},
|
|
"shell": {
|
|
"code": "Código",
|
|
"both": "Ambos",
|
|
"circuit": "Circuito",
|
|
"showExplorer": "Mostrar explorador de archivos",
|
|
"hideExplorer": "Ocultar explorador de archivos",
|
|
"viewMode": "Modo de vista",
|
|
"dragResize": "Arrastrar para redimensionar"
|
|
},
|
|
"oscilloscope": {
|
|
"title": "Osciloscopio",
|
|
"addChannelTitle": "Añadir un canal de pin",
|
|
"addChannel": "Añadir canal",
|
|
"timeDiv": "Tiempo/div:",
|
|
"pauseTitle": "Pausar captura",
|
|
"resumeTitle": "Reanudar captura",
|
|
"pause": "Pausa",
|
|
"run": "Ejecutar",
|
|
"clearTitle": "Limpiar todas las muestras capturadas",
|
|
"clear": "Limpiar",
|
|
"noChannels": "No se añadieron canales.",
|
|
"noChannelsHint": "Haz clic en \"+ Añadir canal\" para monitorear un pin.",
|
|
"removeChannel": "Eliminar {{label}}"
|
|
},
|
|
"componentProps": {
|
|
"close": "Cerrar",
|
|
"tapToConnect": "Toca un pin para conectar:",
|
|
"tapToWire": "Toca un pin para cablear:",
|
|
"pinRoles": "Roles de pines:",
|
|
"arduinoPin": "Pin Arduino:",
|
|
"confirmDelete": "¿Eliminar {{name}}?",
|
|
"confirmDeleteTitle": "Confirmar eliminación",
|
|
"deleteTitle": "Eliminar componente",
|
|
"rotate90": "Rotar 90°",
|
|
"rotate": "Rotar",
|
|
"delete": "Eliminar",
|
|
"cancel": "Cancelar",
|
|
"keyboardKey": "Tecla del teclado",
|
|
"assignKey": "Asignar tecla",
|
|
"pressAKey": "Pulsa una tecla…",
|
|
"clearKey": "Quitar tecla",
|
|
"keyInUse": "También asignada a otro botón: se pulsarán a la vez."
|
|
},
|
|
"selectionBar": {
|
|
"label": "Acciones de selección",
|
|
"rotate90": "Rotar 90°",
|
|
"rotate": "Rotar",
|
|
"delete": "Eliminar",
|
|
"deselect": "Deseleccionar",
|
|
"changeColor": "Cambiar color",
|
|
"deleteKind": {
|
|
"wire": "Eliminar cable",
|
|
"component": "Eliminar componente",
|
|
"board": "Eliminar placa"
|
|
}
|
|
},
|
|
"console": {
|
|
"title": "Salida",
|
|
"errorCount_one": "{{count}} error",
|
|
"errorCount_other": "{{count}} errores",
|
|
"warningCount_one": "{{count}} advertencia",
|
|
"warningCount_other": "{{count}} advertencias",
|
|
"filterAll": "Todo",
|
|
"filterErrors": "Errores",
|
|
"filterWarnings": "Advertencias",
|
|
"auto": "Auto",
|
|
"clear": "Limpiar salida",
|
|
"close": "Cerrar",
|
|
"empty": "Aún no hay salida de compilación. Haz clic en Compilar para empezar."
|
|
},
|
|
"boardPicker": {
|
|
"title": "Añadir placa"
|
|
},
|
|
"pinPicker": {
|
|
"close": "Cerrar",
|
|
"filterPins": "Filtrar pines…",
|
|
"noMatch": "No coinciden pines.",
|
|
"rotate": "Rotar",
|
|
"delete": "Eliminar"
|
|
},
|
|
"boardOptions": {
|
|
"confirmOverwrite": {
|
|
"title": "¿Sobrescribir archivo?",
|
|
"message": "Ya existe un archivo llamado \"{{name}}\". ¿Sobrescribir?",
|
|
"confirm": "Sobrescribir",
|
|
"cancel": "Omitir"
|
|
}
|
|
},
|
|
"pi": {
|
|
"connected": "Conectado",
|
|
"starting": "Iniciando…",
|
|
"bootingTitle": "Arrancando {{board}}…",
|
|
"bootingNote": "Iniciando Linux: puede tardar hasta un minuto la primera vez.",
|
|
"offline": "Desconectado",
|
|
"powerOnTitle": "Encender la Raspberry Pi",
|
|
"startPi": "Iniciar Pi",
|
|
"connectTitle": "Conectar terminal a la Pi",
|
|
"connect": "Conectar",
|
|
"disconnectTitle": "Desconectar terminal",
|
|
"disconnect": "Desconectar",
|
|
"terminal": "Terminal",
|
|
"close": "Cerrar",
|
|
"offlineTitle": "{{board}} está apagada",
|
|
"offlineSubtitle": "Inicia la Pi para abrir un terminal e interactuar con el sistema Linux.",
|
|
"offlineNote1": "Nota: El explorador de archivos muestra un área de preparación.",
|
|
"offlineNote2": "\"Subir al Pi\" envía estos archivos al sistema en marcha; arranca el Pi automáticamente si hace falta.",
|
|
"loadingTerminal": "Cargando terminal…",
|
|
"confirmDelete": {
|
|
"title": "Eliminar",
|
|
"message": "¿Eliminar \"{{name}}\"?",
|
|
"confirm": "Eliminar",
|
|
"cancel": "Cancelar"
|
|
},
|
|
"selectFile": "Selecciona un archivo del explorador para editarlo."
|
|
},
|
|
"sensorPanel": {
|
|
"close": "Cerrar"
|
|
},
|
|
"customChip": {
|
|
"title": "Chip personalizado — {{chipName}}",
|
|
"tabExamples": "Ejemplos",
|
|
"tabEditor": "Editor",
|
|
"attributes": "Atributos",
|
|
"compiling": "Compilando…",
|
|
"compile": "Compilar",
|
|
"compiledOk": "✓ Compilado — {{kb}} KB",
|
|
"compileFailed": "Error de compilación",
|
|
"cancel": "Cancelar",
|
|
"savePlace": "Guardar y colocar",
|
|
"compileFirst": "Compilar primero"
|
|
},
|
|
"serial": {
|
|
"title": "Monitor serie",
|
|
"addBoard": "Añade una placa para iniciar el monitor serie.",
|
|
"autoscroll": "Desplazamiento automático",
|
|
"clearTitle": "Limpiar salida de esta placa",
|
|
"clear": "Limpiar",
|
|
"send": "Enviar",
|
|
"iotGatewayTitle": "Haz clic para abrir a través de IoT Gateway",
|
|
"openIotGateway": "Abrir IoT Gateway",
|
|
"waitingData": "Esperando datos serie...",
|
|
"startSim": "Inicia la simulación para ver la salida serie.",
|
|
"placeholderText": "Escribe el mensaje a enviar...",
|
|
"placeholderPython": "Escribe expresión Python... (Ctrl+C para interrumpir)",
|
|
"lineEnd": {
|
|
"none": "Sin fin de línea",
|
|
"nl": "Nueva línea",
|
|
"cr": "Retorno de carro",
|
|
"both": "Ambos NL y CR"
|
|
}
|
|
},
|
|
"menu": {
|
|
"file": "Archivo",
|
|
"edit": "Edición",
|
|
"view": "Ver",
|
|
"language": "Idioma",
|
|
"help": "Ayuda",
|
|
"newProject": "Nuevo espacio de trabajo",
|
|
"newFile": "Nuevo archivo",
|
|
"open": "Abrir proyecto…",
|
|
"save": "Guardar proyecto",
|
|
"undo": "Deshacer",
|
|
"redo": "Rehacer",
|
|
"centerView": "Centrar vista del lienzo",
|
|
"toggleExplorer": "Explorador de archivos",
|
|
"toggleConsole": "Consola de salida",
|
|
"toggleScope": "Osciloscopio / Analizador lógico",
|
|
"home": "Inicio de Velxio",
|
|
"about": "Acerca de Velxio",
|
|
"discord": "Comunidad de Discord",
|
|
"github": "Repositorio en GitHub",
|
|
"compile": "Compilar",
|
|
"run": "Ejecutar",
|
|
"hideExplorer": "Ocultar explorador de archivos",
|
|
"showExplorer": "Mostrar explorador de archivos"
|
|
}
|
|
},
|
|
"about": {
|
|
"hero": {
|
|
"title": "Acerca de Velxio",
|
|
"subtitle": "Un emulador de sistemas embebidos gratuito y de código abierto — creado por un solo desarrollador apasionado por el hardware y el código abierto."
|
|
},
|
|
"story": {
|
|
"heading": "La Historia",
|
|
"p1": "Velxio comenzó como una exploración personal de cómo funcionan internamente los emuladores de microcontroladores — instrucciones de CPU, gestión de memoria, temporización de periféricos y arquitectura de bajo nivel. Lo que empezó como un proyecto de aprendizaje durante unas vacaciones rápidamente se convirtió en algo más grande.",
|
|
"p2": "La idea era simple: <strong>¿y si cualquiera pudiera simular placas Arduino, ESP32 y Raspberry Pi directamente en el navegador, sin comprar hardware, sin instalar cadenas de herramientas, sin cuentas en la nube?</strong>",
|
|
"p3": "Velxio v1 se lanzó en Product Hunt y Hacker News, compatible con Arduino Uno y Raspberry Pi Pico. La retroalimentación de la comunidad maker y de sistemas embebidos fue increíble — y empujó el proyecto hacia adelante.",
|
|
"p4": "<strong>Velxio 2.0</strong> incluyó emulación ESP32 a través de QEMU (usando el fork de lcgamboa), una Raspberry Pi 3 ejecutando Linux real, soporte RISC-V para ESP32-C3 y CH32V003, simulación realista de sensores (DHT22, HC-SR04, WS2812B NeoPixel), y 19 placas en 5 arquitecturas de CPU — todo ejecutando código compilado real.",
|
|
"p5": "El lanzamiento de v2 llegó a la <strong>portada de Hacker News durante más de 20 horas</strong>, alcanzando casi 600 estrellas en GitHub y miles de visitantes en menos de 24 horas. Ahora es utilizado por estudiantes, profesores y makers de todo el mundo."
|
|
},
|
|
"howItWorks": {
|
|
"heading": "Cómo Funciona",
|
|
"avrRp2040Body": "La emulación precisa de ciclos se ejecuta completamente en tu navegador usando avr8js y rp2040js. No se necesita backend para la simulación.",
|
|
"esp32Body": "ESP32 y ESP32-S3 Xtensa se ejecutan en QEMU backend (fork de lcgamboa) con imágenes flash reales, GPIO, ADC y temporizadores.",
|
|
"riscvBody": "ESP32-C3 (DevKit, XIAO, SuperMini) y CH32V003 se emulan a través del fork de QEMU lcgamboa con libqemu-riscv32, el mismo patrón de backend que Xtensa ESP32.",
|
|
"raspiBody": "ARM Cortex-A53 Linux completo a través de QEMU raspi3b — arranca el sistema Raspberry Pi OS real y ejecuta Python con RPi.GPIO."
|
|
},
|
|
"openSource": {
|
|
"heading": "Filosofía de Código Abierto",
|
|
"lead": "Velxio es <strong>100% código abierto</strong> bajo la licencia AGPLv3. Sin dependencia en la nube, sin cuentas de estudiante, sin datos que salgan de tu red. Universidades y bootcamps pueden desplegarlo en sus propios servidores con un solo comando Docker y dar a cada estudiante acceso a un entorno completo de desarrollo embebido — de forma gratuita.",
|
|
"creditsIntro": "El proyecto se basa en increíble trabajo de código abierto de la comunidad:",
|
|
"credits": {
|
|
"avr8js": "Emulación de CPU AVR8 por Wokwi",
|
|
"rp2040js": "Emulación RP2040 por Wokwi",
|
|
"wokwiElements": "Más de 48 componentes electrónicos visuales por Wokwi",
|
|
"qemuLcgamboa": "Emulación QEMU de ESP32 y Raspberry Pi",
|
|
"arduinoCli": "Cadena de herramientas de compilación Arduino"
|
|
},
|
|
"inspiredBy": "Velxio se inspiró en <a>Wokwi</a>, que es una herramienta fantástica. El objetivo de Velxio es tomar un camino diferente: completamente código abierto, auto-alojable y compatible con múltiples placas heterogéneas en el mismo circuito."
|
|
},
|
|
"creator": {
|
|
"heading": "El Creador",
|
|
"role": "Arquitecto de Aplicaciones @ IBM · Montevideo, Uruguay",
|
|
"bio1": "Arquitecto de Aplicaciones con más de 10 años de experiencia liderando el desarrollo de ecosistemas empresariales a gran escala. Especialista en IA Generativa (LLMs, RAG, LangChain), arquitecturas Cloud-Native (OpenShift, Kubernetes) y experto certificado en Odoo ERP. Actualmente en IBM trabajando en aplicaciones empresariales para el Banco de Seguros del Estado (BSE) de Uruguay.",
|
|
"bio2": "Estudió Ingeniería en Ciencias de la Computación en la Universidad de Oriente en Cuba (2012-2017), luego se mudó a Uruguay donde construyó una carrera que abarca roles en Quanam (implementaciones de Odoo para instituciones gubernamentales) e IBM (arquitectura empresarial para BPS y BSE).",
|
|
"bio3": "Entusiasta de la programación y la robótica. Creador de otros proyectos de código abierto, incluyendo un <a>juego de carreras 3D ejecutándose en un ESP32</a> (viral en Reddit con más de 40K visitas) y un clon de iPod Classic para Raspberry Pi.",
|
|
"techStack": "Stack Tecnológico"
|
|
},
|
|
"releases": {
|
|
"heading": "Lanzamientos recientes",
|
|
"latest": "Último",
|
|
"v3Tagline": "CPUs retro, sistemas multi-placa, precisión de circuito completo",
|
|
"v3Blurb": "CPUs retro programables Z80/8080/4004 con ROM personalizada, emulación de MicroSD y ePaper, interconexión UART/I2C/SPI multi-placa real, ESP32-CAM, deshacer/rehacer completo, la migración completa de ngspice WASM, un paquete 88% más pequeño y más de 100 nuevos ejemplos.",
|
|
"v25Tagline": "Arduino se encuentra con SPICE en tu navegador",
|
|
"v25Blurb": "Simulación de circuitos analógicos en tiempo real a través de ngspice-WASM, conectado a Arduino, ESP32 y Raspberry Pi Pico. Más de 100 componentes precisos para SPICE, amperímetros y voltímetros en vivo, 40 nuevos ejemplos analógicos/híbridos — co-simulados con tu firmware.",
|
|
"v2Tagline": "Lienzo multi-placa, ESP32, Raspberry Pi 3",
|
|
"v2Blurb": "Emulación ESP32 completa impulsada por QEMU con WiFi/BLE, Raspberry Pi 3B Linux, soporte MicroPython en Pico/ESP32, chips WASM personalizados y un lienzo rediseñado con co-simulación multi-placa.",
|
|
"readNotes": "Leer las notas de lanzamiento →"
|
|
},
|
|
"quote": {
|
|
"p1": "\"Estudié Ciencias de la Computación en Cuba de 2012 a 2017, y cuando me mudé a Uruguay, la pregunta más común era: <em>'¿Cómo te graduaste como ingeniero sin internet, sin computadora, sin YouTube?'</em>",
|
|
"p2": "Solo tuve 4 palabras para la respuesta: <strong>¡Perseverancia! ¡Perseverancia! ¡Perseverancia! ¡Perseverancia!</strong>",
|
|
"p3": "No hay mejor motivación que no tener un plan B.\""
|
|
},
|
|
"community": {
|
|
"heading": "Comunidad y Prensa",
|
|
"stats": {
|
|
"githubStars": "Estrellas de GitHub",
|
|
"countries": "Países",
|
|
"supportedBoards": "Placas compatibles",
|
|
"cpuArchitectures": "Arquitecturas de CPU"
|
|
},
|
|
"featuredOn": "Presentado en:",
|
|
"press": {
|
|
"hackerNews": "Hacker News (Portada)"
|
|
}
|
|
},
|
|
"cta": {
|
|
"title": "¿Listo para probar Velxio?",
|
|
"subtitle": "No requiere registro. Funciona 100% en tu navegador. Gratuito y de código abierto.",
|
|
"openEditor": "Abrir editor"
|
|
}
|
|
}
|
|
}
|