From ebfe6444d2ca302d503a459f279ed08496f85f9d Mon Sep 17 00:00:00 2001 From: David Montero Crespo Date: Sat, 9 May 2026 02:06:53 -0300 Subject: [PATCH] feat(landing): translate Features section + 6 feature cards (Block 3 of 4) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Features section ("Everything you need") and the 6 cards underneath (Real-Time SPICE Analog, 5 Emulation Engines, Custom Chips, 100+ Components, Live Instruments, Monaco Editor + arduino-cli) now read from t('landing.features..{title,desc}') for all 9 locales. Refactor: - The `features` array in LandingPage.tsx no longer carries title/desc literals — only an icon + a translation key. The render maps each card's key to the matching i18n entry. Cleaner and keeps the JSX structurally stable across languages. Translations: - All 8 non-English locales hand-curated. Technical / brand names (ngspice-WASM, AVR8, ATmega328P, RP2040, ESP32-C3, CH32V003, QEMU, Cortex-M0+/A53, ILI9341, NeoPixel, Wokwi Custom Chips API, WebAssembly, .hex/.uf2/.bin, VS Code, arduino-cli) preserved unchanged in every locale — those are precise nouns where any translation would degrade meaning. --- frontend/src/i18n/locales/de/common.json | 29 ++++++++++ frontend/src/i18n/locales/en/common.json | 29 ++++++++++ frontend/src/i18n/locales/es/common.json | 29 ++++++++++ frontend/src/i18n/locales/fr/common.json | 29 ++++++++++ frontend/src/i18n/locales/it/common.json | 29 ++++++++++ frontend/src/i18n/locales/ja/common.json | 29 ++++++++++ frontend/src/i18n/locales/pt-br/common.json | 29 ++++++++++ frontend/src/i18n/locales/ru/common.json | 29 ++++++++++ frontend/src/i18n/locales/zh-cn/common.json | 29 ++++++++++ frontend/src/pages/LandingPage.tsx | 59 +++++++-------------- 10 files changed, 279 insertions(+), 41 deletions(-) diff --git a/frontend/src/i18n/locales/de/common.json b/frontend/src/i18n/locales/de/common.json index d88af8b9..4dcf158e 100644 --- a/frontend/src/i18n/locales/de/common.json +++ b/frontend/src/i18n/locales/de/common.json @@ -40,6 +40,35 @@ "titleLine1": "Jede Architektur.", "titleLine2": "Ein Tool.", "subtitle": "19 Boards über 5 CPU-Architekturen — AVR8, ARM Cortex-M0+, RISC-V, Xtensa und Linux. Alles lokal, ohne Cloud." + }, + "features": { + "label": "Funktionen", + "title": "Alles, was du brauchst.", + "subtitle": "Eine vollständige IDE, ein Compiler und ein Multi-Architektur-Simulator — alles lokal, ganz ohne externe Dienste.", + "spice": { + "title": "Echtzeit-SPICE-Analog", + "desc": "ngspice-WASM-Engine — vollständige modifizierte Knotenpunktanalyse mit ~60 Hz. Widerstände, Kondensatoren, OPVs, BJTs, MOSFETs und Regler verhalten sich wie echtes Silizium, nicht wie idealisierte Modelle." + }, + "engines": { + "title": "5 Emulations-Engines", + "desc": "AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 über QEMU), Xtensa LX6/LX7 (ESP32 über QEMU) und ARM Cortex-A53 (Raspberry Pi 3 Linux)." + }, + "customChips": { + "title": "Eigene Chips", + "desc": "Schreibe eigene integrierte Schaltungen in C, Rust oder AssemblyScript mit der Wokwi Custom Chips API. Kompiliere zu WebAssembly und nutze sie in beliebigen Projekten." + }, + "components": { + "title": "Über 100 Bauteile", + "desc": "SPICE-genaue analoge Bauteile plus über 48 visuelle wokwi-Bauteile — LEDs, LCDs, ILI9341 TFT, Servos, Summer, Ultraschallsensoren, Tastenfelder, NeoPixel-Streifen." + }, + "instruments": { + "title": "Live-Instrumente", + "desc": "Mehrkanal-Oszilloskop, Voltmeter, Amperemeter, Signalgenerator. Setze sie an einen beliebigen Knoten und beobachte die Signalverläufe in Echtzeit, während die Simulation läuft." + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "C++-Editor auf VS-Code-Niveau mit Multi-File-Workspace. Lokales arduino-cli kompiliert zu echten .hex- / .uf2- / .bin-Dateien — ohne Cloud-Roundtrip." + } } } } diff --git a/frontend/src/i18n/locales/en/common.json b/frontend/src/i18n/locales/en/common.json index 88acb91b..7d32d4de 100644 --- a/frontend/src/i18n/locales/en/common.json +++ b/frontend/src/i18n/locales/en/common.json @@ -40,6 +40,35 @@ "titleLine1": "Every architecture.", "titleLine2": "One tool.", "subtitle": "19 boards across 5 CPU architectures — AVR8, ARM Cortex-M0+, RISC-V, Xtensa, and Linux. All running locally, no cloud needed." + }, + "features": { + "label": "Features", + "title": "Everything you need.", + "subtitle": "A complete IDE, compiler, and multi-architecture simulator — running locally with no external services required.", + "spice": { + "title": "Real-Time SPICE Analog", + "desc": "ngspice-WASM engine — full Modified Nodal Analysis at ~60 Hz. Resistors, capacitors, op-amps, BJTs, MOSFETs, regulators behave like real silicon, not idealised models." + }, + "engines": { + "title": "5 Emulation Engines", + "desc": "AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 via QEMU), Xtensa LX6/LX7 (ESP32 via QEMU), and ARM Cortex-A53 (Raspberry Pi 3 Linux)." + }, + "customChips": { + "title": "Custom Chips", + "desc": "Author your own integrated circuits in C, Rust, or AssemblyScript using the Wokwi Custom Chips API. Compile to WebAssembly and reuse across projects." + }, + "components": { + "title": "100+ Components", + "desc": "SPICE-accurate analog parts plus 48+ wokwi visual components — LEDs, LCDs, ILI9341 TFT, servos, buzzers, ultrasonic sensors, keypads, NeoPixel strips." + }, + "instruments": { + "title": "Live Instruments", + "desc": "Multi-channel oscilloscope, voltmeter, ammeter, signal generator. Drop on any node and watch waveforms update in real time as the simulation runs." + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "VS Code-grade C++ editor with multi-file workspace. Local arduino-cli compiles to real .hex / .uf2 / .bin files — no cloud round-trip." + } } } } diff --git a/frontend/src/i18n/locales/es/common.json b/frontend/src/i18n/locales/es/common.json index 7452b9ed..9e6d8570 100644 --- a/frontend/src/i18n/locales/es/common.json +++ b/frontend/src/i18n/locales/es/common.json @@ -40,6 +40,35 @@ "titleLine1": "Cada arquitectura.", "titleLine2": "Una sola herramienta.", "subtitle": "19 placas en 5 arquitecturas de CPU — AVR8, ARM Cortex-M0+, RISC-V, Xtensa y Linux. Todo se ejecuta localmente, sin nube." + }, + "features": { + "label": "Funcionalidades", + "title": "Todo lo que necesitas.", + "subtitle": "Un IDE completo, compilador y simulador multi-arquitectura — todo en local, sin servicios externos.", + "spice": { + "title": "Analógico SPICE en tiempo real", + "desc": "Motor ngspice-WASM — Análisis Nodal Modificado completo a ~60 Hz. Resistencias, condensadores, amplificadores operacionales, BJTs, MOSFETs y reguladores se comportan como silicio real, no como modelos idealizados." + }, + "engines": { + "title": "5 motores de emulación", + "desc": "AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 vía QEMU), Xtensa LX6/LX7 (ESP32 vía QEMU) y ARM Cortex-A53 (Raspberry Pi 3 Linux)." + }, + "customChips": { + "title": "Chips personalizados", + "desc": "Crea tus propios circuitos integrados en C, Rust o AssemblyScript usando la API Wokwi Custom Chips. Compila a WebAssembly y reutilízalos en cualquier proyecto." + }, + "components": { + "title": "Más de 100 componentes", + "desc": "Componentes analógicos con precisión SPICE más de 48 componentes visuales de wokwi — LEDs, LCDs, TFT ILI9341, servos, zumbadores, sensores ultrasónicos, teclados, tiras NeoPixel." + }, + "instruments": { + "title": "Instrumentos en vivo", + "desc": "Osciloscopio multicanal, voltímetro, amperímetro, generador de señales. Conéctalos a cualquier nodo y observa las formas de onda en tiempo real mientras corre la simulación." + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "Editor de C++ a nivel de VS Code con workspace multi-archivo. arduino-cli local compila a archivos .hex / .uf2 / .bin reales — sin viajes a la nube." + } } } } diff --git a/frontend/src/i18n/locales/fr/common.json b/frontend/src/i18n/locales/fr/common.json index 23961659..49c562be 100644 --- a/frontend/src/i18n/locales/fr/common.json +++ b/frontend/src/i18n/locales/fr/common.json @@ -40,6 +40,35 @@ "titleLine1": "Toutes les architectures.", "titleLine2": "Un seul outil.", "subtitle": "19 cartes sur 5 architectures CPU — AVR8, ARM Cortex-M0+, RISC-V, Xtensa et Linux. Tout fonctionne en local, sans cloud." + }, + "features": { + "label": "Fonctionnalités", + "title": "Tout ce qu'il vous faut.", + "subtitle": "Un IDE complet, un compilateur et un simulateur multi-architecture — tout en local, sans services externes.", + "spice": { + "title": "SPICE analogique en temps réel", + "desc": "Moteur ngspice-WASM — Analyse Nodale Modifiée complète à ~60 Hz. Résistances, condensateurs, AOP, BJT, MOSFET et régulateurs se comportent comme du silicium réel, pas des modèles idéalisés." + }, + "engines": { + "title": "5 moteurs d'émulation", + "desc": "AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 via QEMU), Xtensa LX6/LX7 (ESP32 via QEMU) et ARM Cortex-A53 (Raspberry Pi 3 Linux)." + }, + "customChips": { + "title": "Puces personnalisées", + "desc": "Concevez vos propres circuits intégrés en C, Rust ou AssemblyScript avec l'API Wokwi Custom Chips. Compilez en WebAssembly et réutilisez-les sur tous vos projets." + }, + "components": { + "title": "Plus de 100 composants", + "desc": "Composants analogiques précis SPICE plus de 48 composants visuels wokwi — LED, écrans LCD, TFT ILI9341, servos, buzzers, capteurs à ultrasons, claviers, rubans NeoPixel." + }, + "instruments": { + "title": "Instruments en direct", + "desc": "Oscilloscope multivoie, voltmètre, ampèremètre, générateur de signaux. Posez-les sur n'importe quel nœud et observez les formes d'ondes en temps réel pendant la simulation." + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "Éditeur C++ équivalent à VS Code avec espace de travail multi-fichiers. arduino-cli local compile en vrais fichiers .hex / .uf2 / .bin — sans aller-retour au cloud." + } } } } diff --git a/frontend/src/i18n/locales/it/common.json b/frontend/src/i18n/locales/it/common.json index c39a6166..a060cb6f 100644 --- a/frontend/src/i18n/locales/it/common.json +++ b/frontend/src/i18n/locales/it/common.json @@ -40,6 +40,35 @@ "titleLine1": "Ogni architettura.", "titleLine2": "Un solo strumento.", "subtitle": "19 schede su 5 architetture CPU — AVR8, ARM Cortex-M0+, RISC-V, Xtensa e Linux. Tutto in locale, senza cloud." + }, + "features": { + "label": "Funzionalità", + "title": "Tutto quello che ti serve.", + "subtitle": "Un IDE completo, compilatore e simulatore multi-architettura — tutto in locale, senza servizi esterni.", + "spice": { + "title": "SPICE analogico in tempo reale", + "desc": "Motore ngspice-WASM — Analisi Nodale Modificata completa a ~60 Hz. Resistori, condensatori, op-amp, BJT, MOSFET e regolatori si comportano come silicio reale, non come modelli idealizzati." + }, + "engines": { + "title": "5 motori di emulazione", + "desc": "AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 tramite QEMU), Xtensa LX6/LX7 (ESP32 tramite QEMU) e ARM Cortex-A53 (Raspberry Pi 3 Linux)." + }, + "customChips": { + "title": "Chip personalizzati", + "desc": "Crea i tuoi circuiti integrati in C, Rust o AssemblyScript usando l'API Wokwi Custom Chips. Compila in WebAssembly e riusali in altri progetti." + }, + "components": { + "title": "Oltre 100 componenti", + "desc": "Componenti analogici accurati SPICE più oltre 48 componenti visivi wokwi — LED, LCD, TFT ILI9341, servomotori, cicalini, sensori a ultrasuoni, tastiere, strisce NeoPixel." + }, + "instruments": { + "title": "Strumenti dal vivo", + "desc": "Oscilloscopio multicanale, voltmetro, amperometro, generatore di segnali. Collegali a qualsiasi nodo e osserva le forme d'onda aggiornarsi in tempo reale durante la simulazione." + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "Editor C++ di livello VS Code con workspace multi-file. arduino-cli locale compila in veri file .hex / .uf2 / .bin — senza round-trip al cloud." + } } } } diff --git a/frontend/src/i18n/locales/ja/common.json b/frontend/src/i18n/locales/ja/common.json index 84223564..6777c447 100644 --- a/frontend/src/i18n/locales/ja/common.json +++ b/frontend/src/i18n/locales/ja/common.json @@ -40,6 +40,35 @@ "titleLine1": "あらゆるアーキテクチャ。", "titleLine2": "ひとつのツール。", "subtitle": "5 つの CPU アーキテクチャに対応した 19 種のボード — AVR8、ARM Cortex-M0+、RISC-V、Xtensa、Linux。すべてローカルで動作し、クラウドは不要です。" + }, + "features": { + "label": "機能", + "title": "必要なものすべてを。", + "subtitle": "IDE、コンパイラ、マルチアーキテクチャ・シミュレータが一体に — すべてローカルで動作し、外部サービスは一切不要です。", + "spice": { + "title": "リアルタイム SPICE アナログ", + "desc": "ngspice-WASM エンジン — 完全な修正ノード解析を約 60 Hz で実行。抵抗、コンデンサ、オペアンプ、BJT、MOSFET、レギュレータは理想化されたモデルではなく、実シリコンのように振る舞います。" + }, + "engines": { + "title": "5 つのエミュレーションエンジン", + "desc": "AVR8(ATmega328P、ATmega2560、ATtiny85)、RP2040(ARM Cortex-M0+)、RV32IMC(QEMU 経由の ESP32-C3、CH32V003)、Xtensa LX6/LX7(QEMU 経由の ESP32)、そして ARM Cortex-A53(Raspberry Pi 3 Linux)。" + }, + "customChips": { + "title": "カスタムチップ", + "desc": "Wokwi Custom Chips API を使って、C、Rust、または AssemblyScript で独自の集積回路を作成できます。WebAssembly にコンパイルすればプロジェクト間で再利用できます。" + }, + "components": { + "title": "100 以上のコンポーネント", + "desc": "SPICE 精度のアナログ部品に加え、48 以上の wokwi ビジュアルコンポーネント — LED、LCD、ILI9341 TFT、サーボ、ブザー、超音波センサー、キーパッド、NeoPixel ストリップ。" + }, + "instruments": { + "title": "ライブ計測機器", + "desc": "マルチチャンネル・オシロスコープ、電圧計、電流計、信号発生器。任意のノードに配置すれば、シミュレーション実行中に波形がリアルタイムで更新されます。" + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "VS Code 相当の C++ エディタとマルチファイルワークスペース。ローカルの arduino-cli が実際の .hex / .uf2 / .bin ファイルにコンパイルします — クラウドへの往復は不要です。" + } } } } diff --git a/frontend/src/i18n/locales/pt-br/common.json b/frontend/src/i18n/locales/pt-br/common.json index 109fb597..dd9227d7 100644 --- a/frontend/src/i18n/locales/pt-br/common.json +++ b/frontend/src/i18n/locales/pt-br/common.json @@ -40,6 +40,35 @@ "titleLine1": "Toda arquitetura.", "titleLine2": "Uma única ferramenta.", "subtitle": "19 placas em 5 arquiteturas de CPU — AVR8, ARM Cortex-M0+, RISC-V, Xtensa e Linux. Tudo executa localmente, sem nuvem." + }, + "features": { + "label": "Recursos", + "title": "Tudo o que você precisa.", + "subtitle": "Um IDE completo, compilador e simulador multi-arquitetura — tudo local, sem serviços externos.", + "spice": { + "title": "Analógico SPICE em tempo real", + "desc": "Motor ngspice-WASM — Análise Nodal Modificada completa a ~60 Hz. Resistores, capacitores, amplificadores operacionais, BJTs, MOSFETs e reguladores se comportam como silício real, não modelos idealizados." + }, + "engines": { + "title": "5 motores de emulação", + "desc": "AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 via QEMU), Xtensa LX6/LX7 (ESP32 via QEMU) e ARM Cortex-A53 (Raspberry Pi 3 Linux)." + }, + "customChips": { + "title": "Chips personalizados", + "desc": "Crie seus próprios circuitos integrados em C, Rust ou AssemblyScript usando a API Wokwi Custom Chips. Compile para WebAssembly e reutilize em qualquer projeto." + }, + "components": { + "title": "100+ componentes", + "desc": "Peças analógicas com precisão SPICE mais 48+ componentes visuais wokwi — LEDs, LCDs, TFT ILI9341, servos, buzzers, sensores ultrassônicos, teclados, fitas NeoPixel." + }, + "instruments": { + "title": "Instrumentos ao vivo", + "desc": "Osciloscópio multicanal, voltímetro, amperímetro, gerador de sinais. Coloque em qualquer nó e veja as formas de onda atualizando em tempo real durante a simulação." + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "Editor C++ no nível VS Code com workspace multi-arquivo. arduino-cli local compila para arquivos .hex / .uf2 / .bin reais — sem ida-e-volta à nuvem." + } } } } diff --git a/frontend/src/i18n/locales/ru/common.json b/frontend/src/i18n/locales/ru/common.json index 942e4a6d..2e07b6bc 100644 --- a/frontend/src/i18n/locales/ru/common.json +++ b/frontend/src/i18n/locales/ru/common.json @@ -40,6 +40,35 @@ "titleLine1": "Каждая архитектура.", "titleLine2": "Один инструмент.", "subtitle": "19 плат на 5 архитектурах CPU — AVR8, ARM Cortex-M0+, RISC-V, Xtensa и Linux. Всё работает локально, без облака." + }, + "features": { + "label": "Возможности", + "title": "Всё, что нужно.", + "subtitle": "Полноценная IDE, компилятор и мультиархитектурный симулятор — всё локально, без внешних сервисов.", + "spice": { + "title": "SPICE аналог в реальном времени", + "desc": "Движок ngspice-WASM — полный модифицированный узловой анализ на ~60 Гц. Резисторы, конденсаторы, операционные усилители, BJT, MOSFET и стабилизаторы ведут себя как настоящий кремний, а не как упрощённые модели." + }, + "engines": { + "title": "5 движков эмуляции", + "desc": "AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 через QEMU), Xtensa LX6/LX7 (ESP32 через QEMU) и ARM Cortex-A53 (Raspberry Pi 3 Linux)." + }, + "customChips": { + "title": "Собственные чипы", + "desc": "Создавайте собственные интегральные схемы на C, Rust или AssemblyScript с помощью Wokwi Custom Chips API. Компилируйте в WebAssembly и переиспользуйте в любых проектах." + }, + "components": { + "title": "100+ компонентов", + "desc": "Аналоговые элементы с точностью SPICE плюс 48+ визуальных компонентов wokwi — светодиоды, LCD, TFT ILI9341, сервоприводы, зуммеры, ультразвуковые датчики, клавиатуры, ленты NeoPixel." + }, + "instruments": { + "title": "Живые инструменты", + "desc": "Многоканальный осциллограф, вольтметр, амперметр, генератор сигналов. Установите на любой узел и наблюдайте за формой сигналов в реальном времени во время симуляции." + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "Редактор C++ уровня VS Code с многофайловым воркспейсом. Локальный arduino-cli компилирует в настоящие .hex / .uf2 / .bin — без обращения к облаку." + } } } } diff --git a/frontend/src/i18n/locales/zh-cn/common.json b/frontend/src/i18n/locales/zh-cn/common.json index 9f47b37d..50e4d964 100644 --- a/frontend/src/i18n/locales/zh-cn/common.json +++ b/frontend/src/i18n/locales/zh-cn/common.json @@ -40,6 +40,35 @@ "titleLine1": "每种架构。", "titleLine2": "一个工具。", "subtitle": "覆盖 5 种 CPU 架构的 19 款开发板 —— AVR8、ARM Cortex-M0+、RISC-V、Xtensa 和 Linux。全部在本地运行,无需云端。" + }, + "features": { + "label": "功能特性", + "title": "您需要的一切。", + "subtitle": "完整的 IDE、编译器和多架构模拟器 —— 全部在本地运行,无需任何外部服务。", + "spice": { + "title": "实时 SPICE 模拟", + "desc": "ngspice-WASM 引擎 —— 以 ~60 Hz 运行完整的修正节点分析法。电阻、电容、运放、BJT、MOSFET 和稳压器表现得像真实硅片,而非理想化模型。" + }, + "engines": { + "title": "5 种仿真引擎", + "desc": "AVR8(ATmega328P、ATmega2560、ATtiny85)、RP2040(ARM Cortex-M0+)、RV32IMC(通过 QEMU 的 ESP32-C3、CH32V003)、Xtensa LX6/LX7(通过 QEMU 的 ESP32)以及 ARM Cortex-A53(Raspberry Pi 3 Linux)。" + }, + "customChips": { + "title": "自定义芯片", + "desc": "使用 Wokwi Custom Chips API,用 C、Rust 或 AssemblyScript 编写您自己的集成电路。编译为 WebAssembly 后即可在多个项目中复用。" + }, + "components": { + "title": "100+ 元件", + "desc": "SPICE 精度的模拟元件 加上 48+ 个 wokwi 可视元件 —— LED、LCD、ILI9341 TFT、舵机、蜂鸣器、超声波传感器、键盘、NeoPixel 灯带。" + }, + "instruments": { + "title": "实时仪表", + "desc": "多通道示波器、电压表、电流表、信号发生器。放在任意节点上,仿真运行时即可实时查看波形。" + }, + "monaco": { + "title": "Monaco Editor + arduino-cli", + "desc": "VS Code 级别的 C++ 编辑器,支持多文件工作区。本地 arduino-cli 编译为真实的 .hex / .uf2 / .bin 文件 —— 无需云端往返。" + } } } } diff --git a/frontend/src/pages/LandingPage.tsx b/frontend/src/pages/LandingPage.tsx index 2601c428..15e1e1f2 100644 --- a/frontend/src/pages/LandingPage.tsx +++ b/frontend/src/pages/LandingPage.tsx @@ -575,39 +575,19 @@ const BoardEsp32C3 = () => ( ); -/* ── Features ─────────────────────────────────────────── */ +/* ── Features ───────────────────────────────────────────── + * Title / description copy lives in src/i18n/locales//common.json + * under landing.features..{title,desc}; the array here just maps + * an icon to each translation key. + * ──────────────────────────────────────────────────────────── */ const features = [ - { - icon: , - title: 'Real-Time SPICE Analog', - desc: 'ngspice-WASM engine — full Modified Nodal Analysis at ~60 Hz. Resistors, capacitors, op-amps, BJTs, MOSFETs, regulators behave like real silicon, not idealised models.', - }, - { - icon: , - title: '5 Emulation Engines', - desc: 'AVR8 (ATmega328P, ATmega2560, ATtiny85), RP2040 (ARM Cortex-M0+), RV32IMC (ESP32-C3, CH32V003 via QEMU), Xtensa LX6/LX7 (ESP32 via QEMU), and ARM Cortex-A53 (Raspberry Pi 3 Linux).', - }, - { - icon: , - title: 'Custom Chips', - desc: 'Author your own integrated circuits in C, Rust, or AssemblyScript using the Wokwi Custom Chips API. Compile to WebAssembly and reuse across projects.', - }, - { - icon: , - title: '100+ Components', - desc: 'SPICE-accurate analog parts plus 48+ wokwi visual components — LEDs, LCDs, ILI9341 TFT, servos, buzzers, ultrasonic sensors, keypads, NeoPixel strips.', - }, - { - icon: , - title: 'Live Instruments', - desc: 'Multi-channel oscilloscope, voltmeter, ammeter, signal generator. Drop on any node and watch waveforms update in real time as the simulation runs.', - }, - { - icon: , - title: 'Monaco Editor + arduino-cli', - desc: 'VS Code-grade C++ editor with multi-file workspace. Local arduino-cli compiles to real .hex / .uf2 / .bin files — no cloud round-trip.', - }, -]; + { icon: , key: 'spice' }, + { icon: , key: 'engines' }, + { icon: , key: 'customChips' }, + { icon: , key: 'components' }, + { icon: , key: 'instruments' }, + { icon: , key: 'monaco' }, +] as const; /* ── Sponsor SVG icon ─────────────────────────────────── */ const IcoSponsor = () => ( @@ -1188,19 +1168,16 @@ export const LandingPage: React.FC = () => { {/* Features */}
- Features -

Everything you need.

-

- A complete IDE, compiler, and multi-architecture simulator — running locally with no - external services required. -

+ {t('landing.features.label')} +

{t('landing.features.title')}

+

{t('landing.features.subtitle')}

{features.map((f) => ( -
+
{f.icon}
-

{f.title}

-

{f.desc}

+

{t(`landing.features.${f.key}.title`)}

+

{t(`landing.features.${f.key}.desc`)}

))}