feat(i18n): Spanish localization (phase 4)
CI / Lint e auditorias (push) Successful in 1m31s
CI / Trivy (dependências e segredos) (push) Successful in 10s
CI / Imagem Docker (linux/arm64) (push) Successful in 2m23s

Complete implementation of Spanish (es-419) language support:
- Canonical catalogs and data: messages/es.json, data/es/**, lib/data/es/**, public/exemplos/es/**
- Canonical slugs: /es/series, /es/catalogo, /es/comparacion, /es/componentes, /es/diagnostico, /es/frameworks, /es/glosario, /es/selector, /es/acerca
- Dedicated search index at /api/busca/es with Spanish accent normalization
- Strict exclusion of book references in Spanish routes and catalogs
- Language selector and root negotiation with es active (ENABLED_LOCALES = ['pt', 'en', 'es'])
- Extended verification suite: check-i18n, smoke-imagem and verifica-vazamentos

Co-Authored-By: Antigravity <noreply@google.com>
This commit is contained in:
Lucas RayanandAntigravity committed 2026-11-01 19:50:20 -03:00
1 parent 0940814522
commit 660b28c09d
72 files changed
+17848 -947

No files matched your search

+56
View File
@@ -0,0 +1,56 @@
/*
* Ejemplo ESP-IDF v5.x+ para ESP32
* Demostración de inicialización del sistema, gestión de tareas FreeRTOS y log unificado
*
* Gestión de componentes (main/idf_component.yml):
* dependencies:
* espressif/led_strip: "^2.5.0"
*/
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "esp_system.h"
#include "esp_chip_info.h"
static const char *TAG = "main_app";
#define BLINK_GPIO GPIO_NUM_2 // Ajuste según el pin del LED de su placa
static void blink_task(void *pvParameters)
{
// Configura el pin GPIO con la nueva API de ESP-IDF
gpio_reset_pin(BLINK_GPIO);
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
bool led_state = false;
while (1) {
led_state = !led_state;
gpio_set_level(BLINK_GPIO, led_state);
ESP_LOGI(TAG, "LED %s | Heap libre: %lu bytes",
led_state ? "ENCENDIDO" : "DESENCENDIDO",
(unsigned long)esp_get_free_heap_size());
vTaskDelay(pdMS_TO_TICKS(1000));
}
}
void app_main(void)
{
// Informações do chip SoC
esp_chip_info_t chip_info;
esp_chip_info(&chip_info);
ESP_LOGI(TAG, "===========================================");
ESP_LOGI(TAG, " Iniciando ESP-IDF v5.x Modern Application ");
ESP_LOGI(TAG, " Modelo do Chip: %d | Núcleos: %d | Rev: %d",
chip_info.model, chip_info.cores, chip_info.revision);
ESP_LOGI(TAG, "===========================================");
// Cria uma tarefa FreeRTOS dedicada
xTaskCreate(blink_task, "blink_task", 3072, NULL, 5, NULL);
}