From 1da539919694b18cc2ae47c53d176c82bdd8934d Mon Sep 17 00:00:00 2001 From: Sven van Ginkel Date: Wed, 4 Feb 2026 20:21:40 +0100 Subject: [PATCH 01/11] bug: fix completed mail (#2692) --- app/Mail/CompletedSpeedtestMail.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Mail/CompletedSpeedtestMail.php b/app/Mail/CompletedSpeedtestMail.php index cfd7cecf6..4d6732154 100644 --- a/app/Mail/CompletedSpeedtestMail.php +++ b/app/Mail/CompletedSpeedtestMail.php @@ -51,7 +51,7 @@ public function content(): Content 'ping' => round($this->result->ping, 2).' ms', 'download' => Number::toBitRate(bits: $this->result->download_bits, precision: 2), 'upload' => Number::toBitRate(bits: $this->result->upload_bits, precision: 2), - 'packetLoss' => $result->packet_loss ? round($result->packet_loss, precision: 2) : '', + 'packetLoss' => $this->result->packet_loss ? round($this->result->packet_loss, precision: 2) : '', 'speedtest_url' => $this->result->result_url, 'url' => url('/admin/results'), ], From 1e9ea1859ca438b7f6161c3373326d56775387a0 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Wed, 4 Feb 2026 14:23:54 -0500 Subject: [PATCH 02/11] Release v1.13.8 (#2693) --- config/speedtest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/speedtest.php b/config/speedtest.php index 33493f396..8eab6063f 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -8,7 +8,7 @@ */ 'build_date' => Carbon::parse('2026-02-04'), - 'build_version' => 'v1.13.7', + 'build_version' => 'v1.13.8', 'content_width' => env('CONTENT_WIDTH', '7xl'), From cb659fcf16f1024ff62dd7f4e07abdde6ea2281f Mon Sep 17 00:00:00 2001 From: Sven van Ginkel Date: Thu, 5 Feb 2026 01:25:20 +0100 Subject: [PATCH 03/11] chore: refactor prometheus to handle missing data (#2696) Co-authored-by: Alex Justesen --- app/Services/PrometheusMetricsService.php | 188 ++++++---------------- tests/Feature/MetricsEndpointTest.php | 58 +++++++ 2 files changed, 110 insertions(+), 136 deletions(-) diff --git a/app/Services/PrometheusMetricsService.php b/app/Services/PrometheusMetricsService.php index 08473a6df..a405608d8 100644 --- a/app/Services/PrometheusMetricsService.php +++ b/app/Services/PrometheusMetricsService.php @@ -105,142 +105,35 @@ protected function registerMetrics(CollectorRegistry $registry, Result $result): ); $pingGauge->set($result->ping, $labelValues); - // Ping jitter - $pingJitterGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'ping_jitter_ms', - 'Ping jitter in milliseconds', - $labelNames - ); - $pingJitterGauge->set($result->ping_jitter, $labelValues); - - // Download jitter - $downloadJitterGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'download_jitter_ms', - 'Download jitter in milliseconds', - $labelNames - ); - $downloadJitterGauge->set($result->download_jitter, $labelValues); - - // Upload jitter - $uploadJitterGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'upload_jitter_ms', - 'Upload jitter in milliseconds', - $labelNames - ); - $uploadJitterGauge->set($result->upload_jitter, $labelValues); - - // Packet loss - $packetLossGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'packet_loss_percent', - 'Packet loss percentage', - $labelNames - ); - $packetLossGauge->set($result->packet_loss, $labelValues); - - // Ping latency low/high - $pingLowGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'ping_low_ms', - 'Ping low latency in milliseconds', - $labelNames - ); - $pingLowGauge->set($result->ping_low, $labelValues); - - $pingHighGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'ping_high_ms', - 'Ping high latency in milliseconds', - $labelNames - ); - $pingHighGauge->set($result->ping_high, $labelValues); - - // Download latency metrics (IQM = Interquartile Mean - more reliable than average) - $downloadLatencyIqmGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'download_latency_iqm_ms', - 'Download latency interquartile mean in milliseconds', - $labelNames - ); - $downloadLatencyIqmGauge->set($result->downloadlatencyiqm, $labelValues); - - $downloadLatencyLowGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'download_latency_low_ms', - 'Download latency low in milliseconds', - $labelNames - ); - $downloadLatencyLowGauge->set($result->downloadlatency_low, $labelValues); - - $downloadLatencyHighGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'download_latency_high_ms', - 'Download latency high in milliseconds', - $labelNames - ); - $downloadLatencyHighGauge->set($result->downloadlatency_high, $labelValues); - - // Upload latency metrics - $uploadLatencyIqmGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'upload_latency_iqm_ms', - 'Upload latency interquartile mean in milliseconds', - $labelNames - ); - $uploadLatencyIqmGauge->set($result->uploadlatencyiqm, $labelValues); - - $uploadLatencyLowGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'upload_latency_low_ms', - 'Upload latency low in milliseconds', - $labelNames - ); - $uploadLatencyLowGauge->set($result->uploadlatency_low, $labelValues); - - $uploadLatencyHighGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'upload_latency_high_ms', - 'Upload latency high in milliseconds', - $labelNames - ); - $uploadLatencyHighGauge->set($result->uploadlatency_high, $labelValues); - - // Bytes transferred during test - $downloadedBytesGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'downloaded_bytes', - 'Total bytes downloaded during test', - $labelNames - ); - $downloadedBytesGauge->set($result->downloaded_bytes, $labelValues); - - $uploadedBytesGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'uploaded_bytes', - 'Total bytes uploaded during test', - $labelNames - ); - $uploadedBytesGauge->set($result->uploaded_bytes, $labelValues); - - // Test duration - $downloadElapsedGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'download_elapsed_ms', - 'Download test duration in milliseconds', - $labelNames - ); - $downloadElapsedGauge->set($result->download_elapsed, $labelValues); - - $uploadElapsedGauge = $registry->getOrRegisterGauge( - 'speedtest_tracker', - 'upload_elapsed_ms', - 'Upload test duration in milliseconds', - $labelNames - ); - $uploadElapsedGauge->set($result->upload_elapsed, $labelValues); + // Jitter metrics - optional, may not be present in all test results + $this->registerGaugeIfNotNull($registry, 'ping_jitter_ms', 'Ping jitter in milliseconds', $labelNames, $labelValues, $result->ping_jitter); + $this->registerGaugeIfNotNull($registry, 'download_jitter_ms', 'Download jitter in milliseconds', $labelNames, $labelValues, $result->download_jitter); + $this->registerGaugeIfNotNull($registry, 'upload_jitter_ms', 'Upload jitter in milliseconds', $labelNames, $labelValues, $result->upload_jitter); + + // Packet loss - optional + $this->registerGaugeIfNotNull($registry, 'packet_loss_percent', 'Packet loss percentage', $labelNames, $labelValues, $result->packet_loss); + + // Ping latency metrics - optional + $this->registerGaugeIfNotNull($registry, 'ping_low_ms', 'Ping low latency in milliseconds', $labelNames, $labelValues, $result->ping_low); + $this->registerGaugeIfNotNull($registry, 'ping_high_ms', 'Ping high latency in milliseconds', $labelNames, $labelValues, $result->ping_high); + + // Download latency metrics - optional (IQM = Interquartile Mean - more reliable than average) + $this->registerGaugeIfNotNull($registry, 'download_latency_iqm_ms', 'Download latency interquartile mean in milliseconds', $labelNames, $labelValues, $result->downloadlatencyiqm); + $this->registerGaugeIfNotNull($registry, 'download_latency_low_ms', 'Download latency low in milliseconds', $labelNames, $labelValues, $result->downloadlatency_low); + $this->registerGaugeIfNotNull($registry, 'download_latency_high_ms', 'Download latency high in milliseconds', $labelNames, $labelValues, $result->downloadlatency_high); + + // Upload latency metrics - optional + $this->registerGaugeIfNotNull($registry, 'upload_latency_iqm_ms', 'Upload latency interquartile mean in milliseconds', $labelNames, $labelValues, $result->uploadlatencyiqm); + $this->registerGaugeIfNotNull($registry, 'upload_latency_low_ms', 'Upload latency low in milliseconds', $labelNames, $labelValues, $result->uploadlatency_low); + $this->registerGaugeIfNotNull($registry, 'upload_latency_high_ms', 'Upload latency high in milliseconds', $labelNames, $labelValues, $result->uploadlatency_high); + + // Bytes transferred during test - optional + $this->registerGaugeIfNotNull($registry, 'downloaded_bytes', 'Total bytes downloaded during test', $labelNames, $labelValues, $result->downloaded_bytes); + $this->registerGaugeIfNotNull($registry, 'uploaded_bytes', 'Total bytes uploaded during test', $labelNames, $labelValues, $result->uploaded_bytes); + + // Test duration - optional + $this->registerGaugeIfNotNull($registry, 'download_elapsed_ms', 'Download test duration in milliseconds', $labelNames, $labelValues, $result->download_elapsed); + $this->registerGaugeIfNotNull($registry, 'upload_elapsed_ms', 'Upload test duration in milliseconds', $labelNames, $labelValues, $result->upload_elapsed); } protected function buildLabels(Result $result): array @@ -262,4 +155,27 @@ protected function emptyMetrics(): string { return "# no data available\n"; } + + /** + * Register a gauge metric only if the value is not null. + * Follows Prometheus best practice of not exporting missing metrics. + */ + protected function registerGaugeIfNotNull( + CollectorRegistry $registry, + string $name, + string $help, + array $labelNames, + array $labelValues, + mixed $value + ): void { + if ($value !== null) { + $gauge = $registry->getOrRegisterGauge( + 'speedtest_tracker', + $name, + $help, + $labelNames + ); + $gauge->set($value, $labelValues); + } + } } diff --git a/tests/Feature/MetricsEndpointTest.php b/tests/Feature/MetricsEndpointTest.php index cadf0ce28..a1609fce1 100644 --- a/tests/Feature/MetricsEndpointTest.php +++ b/tests/Feature/MetricsEndpointTest.php @@ -123,4 +123,62 @@ $response->assertSuccessful(); }); + + test('handles results with missing packet loss data', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => [], + ])->save(); + + // Create a result without packet loss data + $dataWithoutPacketLoss = json_decode('{"isp": "Speedtest Communications", "ping": {"low": 17.841, "high": 24.077, "jitter": 1.878, "latency": 19.133}, "type": "result", "result": {"id": "d6fe2fb3-f4f8-4cc5-b898-7b42109e67c2", "url": "https://docs.speedtest-tracker.dev", "persisted": true}, "server": {"id": 0, "ip": "127.0.0.1", "host": "docs.speedtest-tracker.dev", "name": "Speedtest", "port": 8080, "country": "United States", "location": "New York City, NY"}, "upload": {"bytes": 124297377, "elapsed": 9628, "latency": {"iqm": 341.111, "low": 16.663, "high": 529.86, "jitter": 37.587}, "bandwidth": 113750000}, "download": {"bytes": 230789788, "elapsed": 14301, "latency": {"iqm": 104.125, "low": 23.72, "high": 269.563, "jitter": 13.447}, "bandwidth": 115625000}, "interface": {"name": "eth0", "isVpn": false, "macAddr": "00:00:00:00:00:00", "externalIp": "127.0.0.1", "internalIp": "127.0.0.1"}, "timestamp": "2024-03-01T01:00:00Z"}', true); + + Result::factory()->create([ + 'ping' => $dataWithoutPacketLoss['ping']['latency'], + 'download' => $dataWithoutPacketLoss['download']['bandwidth'], + 'upload' => $dataWithoutPacketLoss['upload']['bandwidth'], + 'data' => $dataWithoutPacketLoss, + ]); + + $response = $this->get('/prometheus'); + + $response->assertSuccessful(); + $response->assertHeader('Content-Type', 'text/plain; version=0.0.4; charset=utf-8'); + // Verify packet_loss metric is not in the output when data is missing + expect($response->getContent())->not->toContain('speedtest_tracker_packet_loss_percent'); + }); + + test('handles failed speedtests by only exporting info metric', function () { + app(DataIntegrationSettings::class)->fill([ + 'prometheus_enabled' => true, + 'prometheus_allowed_ips' => [], + ])->save(); + + // Create a failed result + $failedData = json_decode('{"type": "log", "level": "error", "message": "Connection timeout", "timestamp": "2024-03-01T01:00:00Z"}', true); + + $result = Result::factory()->create([ + 'status' => \App\Enums\ResultStatus::Failed, + 'data' => $failedData, + ]); + + // Cache the result ID so the Prometheus service can find it + Cache::forever('prometheus:latest_result', $result->id); + + $response = $this->get('/prometheus'); + + $response->assertSuccessful(); + $response->assertHeader('Content-Type', 'text/plain; version=0.0.4; charset=utf-8'); + + $content = $response->getContent(); + + // Should have the info metric (result_id) + expect($content)->toContain('speedtest_tracker_result_id'); + + // Should NOT have numeric metrics for failed tests + expect($content)->not->toContain('speedtest_tracker_download_bytes'); + expect($content)->not->toContain('speedtest_tracker_upload_bytes'); + expect($content)->not->toContain('speedtest_tracker_ping_ms'); + expect($content)->not->toContain('speedtest_tracker_packet_loss_percent'); + }); }); From 5d391b66f65b78e843e599881e44a7f53856cd15 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Sun, 8 Feb 2026 16:48:30 -0500 Subject: [PATCH 04/11] Release v1.13.9 (#2698) --- config/speedtest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/speedtest.php b/config/speedtest.php index 8eab6063f..9faa99341 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -6,9 +6,9 @@ /** * General settings. */ - 'build_date' => Carbon::parse('2026-02-04'), + 'build_date' => Carbon::parse('2026-02-08'), - 'build_version' => 'v1.13.8', + 'build_version' => 'v1.13.9', 'content_width' => env('CONTENT_WIDTH', '7xl'), From 9b0b53be60c8a03633bba92af4eda0955148a0b7 Mon Sep 17 00:00:00 2001 From: Sven van Ginkel Date: Tue, 10 Feb 2026 22:51:14 +0100 Subject: [PATCH 05/11] bug: fix threshold notification (#2702) --- app/Listeners/ProcessUnhealthySpeedtest.php | 2 +- app/Mail/UnhealthySpeedtestMail.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Listeners/ProcessUnhealthySpeedtest.php b/app/Listeners/ProcessUnhealthySpeedtest.php index 288f60739..860f7a292 100644 --- a/app/Listeners/ProcessUnhealthySpeedtest.php +++ b/app/Listeners/ProcessUnhealthySpeedtest.php @@ -72,7 +72,7 @@ private function notifyAppriseChannels(Result $result): void if ($benchmark['passed'] === false) { $failed[] = [ 'name' => ucfirst($metric), - 'threshold' => $benchmark['value'].' '.$benchmark['unit'], + 'threshold' => $benchmark['benchmark_value'].' '.$benchmark['unit'], 'value' => $this->formatMetricValue($metric, $result), ]; } diff --git a/app/Mail/UnhealthySpeedtestMail.php b/app/Mail/UnhealthySpeedtestMail.php index e22f4ec28..2515a6ad2 100644 --- a/app/Mail/UnhealthySpeedtestMail.php +++ b/app/Mail/UnhealthySpeedtestMail.php @@ -62,7 +62,7 @@ private function formatBenchmark(string $metric, array $benchmark): array { $metricName = str($metric)->title(); $type = str($benchmark['type'])->title(); - $thresholdValue = $benchmark['value'].' '.str($benchmark['unit'])->title(); + $thresholdValue = $benchmark['benchmark_value'].' '.str($benchmark['unit'])->title(); // Get the actual result value $resultValue = match ($metric) { From 9419fe83fb4f184be5828ebdca1886a6cc104591 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Thu, 19 Feb 2026 22:08:35 -0500 Subject: [PATCH 06/11] New Crowdin updates (#2689) --- lang/es_ES/api_tokens.php | 10 ++--- lang/es_ES/dashboard.php | 4 +- lang/es_ES/enums.php | 4 +- lang/es_ES/errors.php | 4 +- lang/es_ES/general.php | 16 ++++--- lang/es_ES/passwords.php | 4 +- lang/es_ES/results.php | 56 ++++++++++++------------ lang/es_ES/settings.php | 8 ++-- lang/es_ES/settings/data_integration.php | 14 +++--- lang/es_ES/settings/notifications.php | 1 + lang/es_ES/settings/thresholds.php | 2 +- lang/es_ES/tools.php | 2 +- lang/es_ES/validation.php | 8 ++-- lang/nl_NL/general.php | 2 + lang/nl_NL/settings/notifications.php | 1 + lang/pt_BR/api_tokens.php | 2 +- lang/pt_BR/general.php | 2 + lang/pt_BR/settings/notifications.php | 1 + 18 files changed, 75 insertions(+), 66 deletions(-) diff --git a/lang/es_ES/api_tokens.php b/lang/es_ES/api_tokens.php index 762784c33..44e0b78ab 100644 --- a/lang/es_ES/api_tokens.php +++ b/lang/es_ES/api_tokens.php @@ -1,11 +1,11 @@ 'Tokens API', + 'title' => 'API tokens', 'label' => 'Tokens API', // Token management - 'api_token' => 'API token', + 'api_token' => 'API toquen', 'api_tokens' => 'Tokens de API', 'create_api_token' => 'Crear token API', 'your_token' => 'Tu token', @@ -18,11 +18,11 @@ // Token properties 'expires_at' => 'Expira el', - 'expires_at_helper_text' => 'Dejar en blanco si no desea una fecha de caducidad', - 'last_used_at' => 'Último usado en', + 'expires_at_helper_text' => 'Deja este campo en blanco si no deseas una fecha de caducidad', + 'last_used_at' => 'Usado por última vez el', // Abilities/Permissions - 'abilities' => 'Habilidades', + 'abilities' => 'Permisos', 'read_results' => 'Leer resultados', 'read_results_description' => 'El token tendrá permiso para leer resultados y estadísticas.', 'run_speedtest_description' => 'El token tendrá permiso para ejecutar el test de velocidad.', diff --git a/lang/es_ES/dashboard.php b/lang/es_ES/dashboard.php index b6783d90f..5512c06e7 100644 --- a/lang/es_ES/dashboard.php +++ b/lang/es_ES/dashboard.php @@ -1,9 +1,9 @@ 'Tablero', + 'title' => 'Panel de Control', 'no_speedtests_scheduled' => 'No hay pruebas de velocidad programadas.', - 'next_speedtest_at' => 'Siguiente prueba de velocidad en', + 'next_speedtest_at' => 'Siguiente prueba de velocidad el', // Widgets 'recent_results' => 'Resultados recientes', diff --git a/lang/es_ES/enums.php b/lang/es_ES/enums.php index 3c8089b13..9c7925bf8 100644 --- a/lang/es_ES/enums.php +++ b/lang/es_ES/enums.php @@ -3,10 +3,10 @@ return [ // Status enum values 'status' => [ - 'benchmarking' => 'Marcando', + 'benchmarking' => 'Evaluando', 'checking' => 'Comprobando', 'completed' => 'Completado', - 'failed' => 'Fallo', + 'failed' => 'Fallido', 'running' => 'Ejecutando', 'started' => 'Iniciado', 'skipped' => 'Omitido', diff --git a/lang/es_ES/errors.php b/lang/es_ES/errors.php index c11da734d..c707ca6cb 100644 --- a/lang/es_ES/errors.php +++ b/lang/es_ES/errors.php @@ -9,7 +9,7 @@ 'copied_to_clipboard' => 'Copiado al portapapeles', // Speedtest specific errors - 'ookla_error' => 'Se ha producido un error al listar servidores de prueba de velocidad, comprobar los registros.', + 'ookla_error' => 'Se ha producido un error al listar los servidores de prueba de velocidad, comprueba los registros', 'cron_invalid' => 'Expresión cron no válida', // Status fix command @@ -17,7 +17,7 @@ 'confirm' => '¿Desea continuar?', 'fail' => 'Comando abortado.', 'finished' => '✅ ¡Hecho!', - 'info_1' => 'Esto comprobará todos los resultados y corregirá el estado a "completado" o "fallado" basado en los datos.', + 'info_1' => 'Esto comprobará todos los resultados y cambiará el estado a "completado" o "fallido" basado en los datos', 'info_2' => '📖 Lee la documentación: https://docs.speedtest-tracker.dev/other/commands', ], ]; diff --git a/lang/es_ES/general.php b/lang/es_ES/general.php index 270adc512..f58686338 100644 --- a/lang/es_ES/general.php +++ b/lang/es_ES/general.php @@ -13,22 +13,22 @@ 'edit' => 'Editar', 'create' => 'Crear', 'search' => 'Buscar', - 'filter' => 'Filtro', + 'filter' => 'Filtrar', 'export' => 'Exportar', 'actions' => 'Acciones', 'enable' => 'Activar', 'yes' => 'Sí', - 'no' => 'Nu', + 'no' => 'No', 'options' => 'Opciones', 'details' => 'Detalles', 'view' => 'Ver', // Common labels 'name' => 'Nombre', - 'email' => 'E-mail', - 'email_address' => 'Dirección de email', + 'email' => 'Correo electrónico', + 'email_address' => 'Dirección de correo electrónico', 'password' => 'Contraseña', - 'password_confirmation' => 'Confirmación de contraseña', + 'password_confirmation' => 'Repite la contraseña', 'id' => 'ID', 'status' => 'Estado', 'message' => 'Mensaje', @@ -43,18 +43,20 @@ 'statistics' => 'Estadísticas', // Navigation - 'dashboard' => 'Tablero', + 'dashboard' => 'Panel de control', 'results' => 'Resultados', 'settings' => 'Ajustes', 'users' => 'Usuarios', 'documentation' => 'Documentación', + 'documentation_description' => '¿Necesitas ayuda para empezar o configurar tus pruebas?', 'view_documentation' => 'Ver documentación', 'links' => 'Enlaces', 'donate' => 'Donar', 'donations' => 'Donaciones', + 'donations_description' => 'Apoya el desarrollo y mantenimiento de SpeedTracker haciendo una donación.', // Roles - 'admin' => 'Admin', + 'admin' => 'Administrador', 'user' => 'Usuario', 'role' => 'Rol', diff --git a/lang/es_ES/passwords.php b/lang/es_ES/passwords.php index c1132d746..1259ad569 100644 --- a/lang/es_ES/passwords.php +++ b/lang/es_ES/passwords.php @@ -14,7 +14,7 @@ */ 'reset' => '¡Tu contraseña ha sido restablecida!', - 'sent' => '¡Hemos enviado por correo electrónico tu enlace de restablecimiento de contraseña!', - 'password' => 'La contraseña y la confirmación deben coincidir y contener al menos seis caracteres.', + 'sent' => '¡Hemos enviado por correo electrónico un enlace para restablecer la contraseña!', + 'password' => 'Ambas contraseñas deben coincidir y contener al menos seis caracteres', ]; diff --git a/lang/es_ES/results.php b/lang/es_ES/results.php index 89df7e984..a1e55f656 100644 --- a/lang/es_ES/results.php +++ b/lang/es_ES/results.php @@ -7,50 +7,50 @@ // Metrics 'download' => 'Descargar', - 'download_latency_high' => 'Descargar latencia alta', - 'download_latency_low' => 'Descargar latencia baja', - 'download_latency_iqm' => 'Descargar latencia IQM', - 'download_latency_jitter' => 'Descargar jitter de latencia', + 'download_latency_high' => 'Latencia de descarga alta', + 'download_latency_low' => 'Latencia de descarga baja', + 'download_latency_iqm' => 'Latencia de descarga IQM', + 'download_latency_jitter' => 'Variación de latencia de descarga', - 'upload' => 'Subir', - 'upload_latency_high' => 'Subir latencia alta', - 'upload_latency_low' => 'Subir latencia baja', - 'upload_latency_iqm' => 'Cargar latencia IQM', - 'upload_latency_jitter' => 'Subir jitter de latencia', + 'upload' => 'Subida', + 'upload_latency_high' => 'Latencia de subida alta', + 'upload_latency_low' => 'Latencia de subida baja', + 'upload_latency_iqm' => 'Latencia de subida IQM', + 'upload_latency_jitter' => 'Variación de latencia de subida', - 'ping' => 'Señal', + 'ping' => 'Ping', 'ping_details' => 'Detalles de ping', - 'ping_jitter' => 'Ping jitter', + 'ping_jitter' => 'Variación de ping', 'ping_high' => 'Ping alto', 'ping_low' => 'Ping bajo', - 'packet_loss' => 'Pérdida del paquete', + 'packet_loss' => 'Paquetes perdidos', 'iqm' => 'IQM', // Server & metadata 'server_&_metadata' => 'Servidor y metadatos', 'server_id' => 'ID del servidor', - 'server_host' => 'Servidor host', + 'server_host' => 'Host del servidor', 'server_name' => 'Nombre del servidor', 'server_location' => 'Ubicación del servidor', 'service' => 'Servicio', - 'isp' => 'ISP', + 'isp' => 'Proveedor de internet', 'ip_address' => 'Dirección IP', 'scheduled' => 'Programado', // Filters - 'only_healthy_speedtests' => 'Sólo pruebas de velocidad saludables', - 'only_unhealthy_speedtests' => 'Sólo pruebas de velocidad poco saludables', - 'only_manual_speedtests' => 'Sólo pruebas de velocidad manuales', - 'only_scheduled_speedtests' => 'Sólo pruebas de velocidad programadas', - 'created_from' => 'Creado a partir de', + 'only_healthy_speedtests' => 'Solo pruebas de velocidad saludables', + 'only_unhealthy_speedtests' => 'Sólo pruebas de velocidad no saludables', + 'only_manual_speedtests' => 'Solo pruebas de velocidad manuales', + 'only_scheduled_speedtests' => 'Solo pruebas de velocidad programadas', + 'created_from' => 'Creado desde', 'created_until' => 'Creado hasta', // Export 'export_all_results' => 'Exportar todos los resultados', - 'export_all_results_description' => 'Exportará cada columna para todos los resultados.', + 'export_all_results_description' => 'Exportará todas las columnas para todos los resultados.', 'export_completed' => 'Exportación completada, :count :rows exportadas.', - 'failed_export' => ':count :rows falló al exportar.', + 'failed_export' => ':count :ros exportación fallida.', 'row' => '{1} :count fila|[2,*] :count filas', // Actions @@ -58,14 +58,14 @@ 'view_on_speedtest_net' => 'Ver en Speedtest.net', // Notifications - 'speedtest_benchmark_passed' => 'La prueba de rendimiento de velocidad ha pasado', + 'speedtest_benchmark_passed' => 'Prueba de velocidad superada', 'speedtest_benchmark_failed' => 'Prueba de rendimiento de velocidad fallida', - 'speedtest_started' => 'Velocidad iniciada', - 'speedtest_completed' => 'Velocidad completada', - 'speedtest_failed' => 'Error en la prueba de velocidad', - 'download_threshold_breached' => '¡Umbral de descarga incumplido!', - 'upload_threshold_breached' => '¡Umbral de subida infringido!', - 'ping_threshold_breached' => '¡Umbral de ping infringido!', + 'speedtest_started' => 'Prueba de velocidad iniciada', + 'speedtest_completed' => 'Prueba de velocidad completada', + 'speedtest_failed' => 'Prueba de velocidad fallida', + 'download_threshold_breached' => '¡Umbral de descarga superado!', + 'upload_threshold_breached' => '¡Umbral de subida superado!', + 'ping_threshold_breached' => '¡Umbral de ping superado!', // Run Speedtest Action 'speedtest' => 'Velocidad', diff --git a/lang/es_ES/settings.php b/lang/es_ES/settings.php index 102901771..565addcaf 100644 --- a/lang/es_ES/settings.php +++ b/lang/es_ES/settings.php @@ -1,13 +1,13 @@ 'Ajustes', - 'label' => 'Ajustes', + 'title' => 'Configuración', + 'label' => 'Configuración', // Common settings labels 'triggers' => 'Disparadores', 'verify_ssl' => 'Verificar SSL', - 'username' => 'Usuario', - 'username_placeholder' => 'Nombre de usuario para Auth Básica (opcional)', + 'username' => 'Nombre de usuario', + 'username_placeholder' => 'Nombre de usuario para autenticación Básica (opcional)', 'password_placeholder' => 'Contraseña para autenticación básica (opcional)', ]; diff --git a/lang/es_ES/settings/data_integration.php b/lang/es_ES/settings/data_integration.php index a1b024848..a53326dc2 100644 --- a/lang/es_ES/settings/data_integration.php +++ b/lang/es_ES/settings/data_integration.php @@ -6,13 +6,13 @@ // InfluxDB v2 'influxdb_v2' => 'InfluxDB v2', - 'influxdb_v2_description' => 'Cuando está activado, todos los nuevos resultados de Speedtest también serán enviados a InfluxDB.', + 'influxdb_v2_description' => 'Cuando está activado, los nuevos resultados de las pruebas también serán enviados a InfluxDB.', 'influxdb_v2_enabled' => 'Activar', 'influxdb_v2_url' => 'URL', 'influxdb_v2_url_placeholder' => 'http://su-instancia-influxdb', 'influxdb_v2_org' => 'Org', 'influxdb_v2_bucket' => 'Cubo', - 'influxdb_v2_bucket_placeholder' => 'rastreador de velocidad', + 'influxdb_v2_bucket_placeholder' => 'registros-de-velocidad', 'influxdb_v2_token' => 'Token', 'influxdb_v2_verify_ssl' => 'Verificar SSL', @@ -25,20 +25,20 @@ 'influxdb_test_failed' => 'Prueba de Influxdb fallida', 'influxdb_test_failed_body' => 'Revisa los registros para más detalles.', 'influxdb_test_success' => 'Datos de prueba enviados con éxito a Influxdb', - 'influxdb_test_success_body' => 'Los datos de prueba han sido enviados a InfluxDB, compruebe si los datos han sido recibidos.', + 'influxdb_test_success_body' => 'Los datos de prueba han sido enviados a InfluxDB, comprueba si los datos han sido recibidos', // Bulk write notifications 'influxdb_bulk_write_failed' => 'Error al escribir en masa a Influxdb.', 'influxdb_bulk_write_failed_body' => 'Revisa los registros para más detalles.', 'influxdb_bulk_write_success' => 'Carga de datos en masa a Influxdb.', - 'influxdb_bulk_write_success_body' => 'Los datos han sido enviados a InfluxDB, compruebe si los datos han sido recibidos.', + 'influxdb_bulk_write_success_body' => 'Los datos han sido enviados a InfluxDB, comprueba si los datos han sido recibidos.', // Prometheus - 'prometheus' => 'Prometeo', + 'prometheus' => 'Prometheus', 'prometheus_enabled' => 'Activar', - 'prometheus_enabled_helper_text' => 'Cuando está activado, las métricas para cada prueba de velocidad nueva estarán disponibles en el punto final /prometheus.', + 'prometheus_enabled_helper_text' => 'Cuando está activado, las métricas para cada prueba de velocidad nueva estarán disponibles en el extremo /prometheus.', 'prometheus_allowed_ips' => 'Direcciones IP permitidas', - 'prometheus_allowed_ips_helper' => 'Lista de direcciones IP o rangos CIDR (por ejemplo, 192.168.1.0/24) permitieron acceder al extremo de las métricas. Dejar en blanco para permitir todas las IPs.', + 'prometheus_allowed_ips_helper' => 'Lista de direcciones IP o rangos CIDR (por ejemplo, 192.168.1.0/24) permitidas para acceder al extremo de las métricas. Dejar en blanco para permitir todas las IPs.', // Common labels 'org' => 'Org', diff --git a/lang/es_ES/settings/notifications.php b/lang/es_ES/settings/notifications.php index d19c00f5e..e7dd1b702 100644 --- a/lang/es_ES/settings/notifications.php +++ b/lang/es_ES/settings/notifications.php @@ -56,6 +56,7 @@ 'webhook' => [ 'add' => '¡Añadir URL de webhook!', 'sent' => 'Prueba de notificación de webhook enviada.', + 'failed' => 'Notificación de Webhook fallida.', 'payload' => 'Probando notificación de webhook', ], ], diff --git a/lang/es_ES/settings/thresholds.php b/lang/es_ES/settings/thresholds.php index 8fc4e7748..cc7e6599c 100644 --- a/lang/es_ES/settings/thresholds.php +++ b/lang/es_ES/settings/thresholds.php @@ -6,7 +6,7 @@ // Absolute thresholds 'absolute' => 'Absoluto', - 'absolute_description' => 'Los umbrales absolutos no tienen en cuenta la historia anterior y podrían ser activados en cada prueba.', + 'absolute_description' => 'Los umbrales absolutos no tienen en cuenta el historial anterior y podrían ser activados en cada prueba', 'absolute_enabled' => 'Habilitar umbrales absolutos', // Metrics section diff --git a/lang/es_ES/tools.php b/lang/es_ES/tools.php index 249d79aae..65f20093c 100644 --- a/lang/es_ES/tools.php +++ b/lang/es_ES/tools.php @@ -2,5 +2,5 @@ return [ // Ookla server list - 'ookla_servers' => 'Servidores Ookla', + 'ookla_servers' => 'Servidores de Ookla', ]; diff --git a/lang/es_ES/validation.php b/lang/es_ES/validation.php index 9eb5a792a..fce586284 100644 --- a/lang/es_ES/validation.php +++ b/lang/es_ES/validation.php @@ -50,14 +50,14 @@ 'country' => 'país', 'date' => 'fecha', 'day' => 'día', - 'excerpt' => 'summary', + 'excerpt' => 'resumen', 'first_name' => 'nombre', 'gender' => 'género', 'marital_status' => 'estado civil', 'profession' => 'profesión', 'nationality' => 'nacionalidad', 'hour' => 'hora', - 'last_name' => 'apellido', + 'last_name' => 'apellidos', 'message' => 'mensaje', 'minute' => 'minuto', 'mobile' => 'móvil', @@ -65,7 +65,7 @@ 'name' => 'nombre', 'zipcode' => 'código postal', 'company_name' => 'nombre de empresa', - 'neighborhood' => 'vecindad', + 'neighborhood' => 'barrio', 'number' => 'número', 'password' => 'contraseña', 'phone' => 'teléfono', @@ -75,7 +75,7 @@ 'street' => 'calle', 'subject' => 'tema', 'text' => 'texto', - 'time' => 'tiempo', + 'time' => 'hora', 'title' => 'título', 'username' => 'nombre de usuario', 'year' => 'año', diff --git a/lang/nl_NL/general.php b/lang/nl_NL/general.php index 014edba84..379644919 100644 --- a/lang/nl_NL/general.php +++ b/lang/nl_NL/general.php @@ -48,10 +48,12 @@ 'settings' => 'Instellingen', 'users' => 'Gebruikers', 'documentation' => 'Documentatie', + 'documentation_description' => 'Hulp nodig bij het opstarten of configureren van uw snelheid testen?', 'view_documentation' => 'Bekijk documentatie', 'links' => 'Koppelingen', 'donate' => 'Doneren', 'donations' => 'Donaties', + 'donations_description' => 'Ondersteun de ontwikkeling en het onderhoud van Speedtest Tracker door een donatie te doen.', // Roles 'admin' => 'Beheerder', diff --git a/lang/nl_NL/settings/notifications.php b/lang/nl_NL/settings/notifications.php index 27dbd7140..2bb7e85fa 100644 --- a/lang/nl_NL/settings/notifications.php +++ b/lang/nl_NL/settings/notifications.php @@ -56,6 +56,7 @@ 'webhook' => [ 'add' => 'Voeg webhook URL\'s toe!', 'sent' => 'Test webhook melding verzonden.', + 'failed' => 'Webhook notificatie is mislukt.', 'payload' => 'Webhook melding', ], ], diff --git a/lang/pt_BR/api_tokens.php b/lang/pt_BR/api_tokens.php index 17ae5269c..e723f39c8 100644 --- a/lang/pt_BR/api_tokens.php +++ b/lang/pt_BR/api_tokens.php @@ -1,7 +1,7 @@ 'Tokens de API', + 'title' => 'API Tokens', 'label' => 'Tokens de API', // Token management diff --git a/lang/pt_BR/general.php b/lang/pt_BR/general.php index 56565dd1d..1a88eb7b1 100644 --- a/lang/pt_BR/general.php +++ b/lang/pt_BR/general.php @@ -48,10 +48,12 @@ 'settings' => 'Confirgurações', 'users' => 'Usuários', 'documentation' => 'Documentação', + 'documentation_description' => 'Precisa de ajuda para começar ou configurar seus testes de velocidade?', 'view_documentation' => 'Ver documentação', 'links' => 'Links', 'donate' => 'Doar', 'donations' => 'Doações', + 'donations_description' => 'Apoie o desenvolvimento e a manutenção do Speedtest Tracker fazendo uma doação.', // Roles 'admin' => 'Admin', diff --git a/lang/pt_BR/settings/notifications.php b/lang/pt_BR/settings/notifications.php index cee325eca..ef4e55040 100644 --- a/lang/pt_BR/settings/notifications.php +++ b/lang/pt_BR/settings/notifications.php @@ -56,6 +56,7 @@ 'webhook' => [ 'add' => 'Adicionar URLs webhook!', 'sent' => 'Notificação de teste webhook enviada.', + 'failed' => 'A notificação do webhook falhou.', 'payload' => 'Testando notificação webhook', ], ], From 21554b12d85a1475cd90f3d85410cc76dc0339fe Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Thu, 19 Feb 2026 22:11:26 -0500 Subject: [PATCH 07/11] translations (#2710) --- lang/es_ES/api_tokens.php | 10 ++--- lang/es_ES/dashboard.php | 4 +- lang/es_ES/enums.php | 4 +- lang/es_ES/errors.php | 4 +- lang/es_ES/general.php | 16 ++++--- lang/es_ES/passwords.php | 4 +- lang/es_ES/results.php | 56 ++++++++++++------------ lang/es_ES/settings.php | 8 ++-- lang/es_ES/settings/data_integration.php | 14 +++--- lang/es_ES/settings/notifications.php | 1 + lang/es_ES/settings/thresholds.php | 2 +- lang/es_ES/tools.php | 2 +- lang/es_ES/validation.php | 8 ++-- lang/nl_NL/general.php | 2 + lang/nl_NL/settings/notifications.php | 1 + lang/pt_BR/api_tokens.php | 2 +- lang/pt_BR/general.php | 2 + lang/pt_BR/settings/notifications.php | 1 + 18 files changed, 75 insertions(+), 66 deletions(-) diff --git a/lang/es_ES/api_tokens.php b/lang/es_ES/api_tokens.php index 762784c33..44e0b78ab 100644 --- a/lang/es_ES/api_tokens.php +++ b/lang/es_ES/api_tokens.php @@ -1,11 +1,11 @@ 'Tokens API', + 'title' => 'API tokens', 'label' => 'Tokens API', // Token management - 'api_token' => 'API token', + 'api_token' => 'API toquen', 'api_tokens' => 'Tokens de API', 'create_api_token' => 'Crear token API', 'your_token' => 'Tu token', @@ -18,11 +18,11 @@ // Token properties 'expires_at' => 'Expira el', - 'expires_at_helper_text' => 'Dejar en blanco si no desea una fecha de caducidad', - 'last_used_at' => 'Último usado en', + 'expires_at_helper_text' => 'Deja este campo en blanco si no deseas una fecha de caducidad', + 'last_used_at' => 'Usado por última vez el', // Abilities/Permissions - 'abilities' => 'Habilidades', + 'abilities' => 'Permisos', 'read_results' => 'Leer resultados', 'read_results_description' => 'El token tendrá permiso para leer resultados y estadísticas.', 'run_speedtest_description' => 'El token tendrá permiso para ejecutar el test de velocidad.', diff --git a/lang/es_ES/dashboard.php b/lang/es_ES/dashboard.php index b6783d90f..5512c06e7 100644 --- a/lang/es_ES/dashboard.php +++ b/lang/es_ES/dashboard.php @@ -1,9 +1,9 @@ 'Tablero', + 'title' => 'Panel de Control', 'no_speedtests_scheduled' => 'No hay pruebas de velocidad programadas.', - 'next_speedtest_at' => 'Siguiente prueba de velocidad en', + 'next_speedtest_at' => 'Siguiente prueba de velocidad el', // Widgets 'recent_results' => 'Resultados recientes', diff --git a/lang/es_ES/enums.php b/lang/es_ES/enums.php index 3c8089b13..9c7925bf8 100644 --- a/lang/es_ES/enums.php +++ b/lang/es_ES/enums.php @@ -3,10 +3,10 @@ return [ // Status enum values 'status' => [ - 'benchmarking' => 'Marcando', + 'benchmarking' => 'Evaluando', 'checking' => 'Comprobando', 'completed' => 'Completado', - 'failed' => 'Fallo', + 'failed' => 'Fallido', 'running' => 'Ejecutando', 'started' => 'Iniciado', 'skipped' => 'Omitido', diff --git a/lang/es_ES/errors.php b/lang/es_ES/errors.php index c11da734d..c707ca6cb 100644 --- a/lang/es_ES/errors.php +++ b/lang/es_ES/errors.php @@ -9,7 +9,7 @@ 'copied_to_clipboard' => 'Copiado al portapapeles', // Speedtest specific errors - 'ookla_error' => 'Se ha producido un error al listar servidores de prueba de velocidad, comprobar los registros.', + 'ookla_error' => 'Se ha producido un error al listar los servidores de prueba de velocidad, comprueba los registros', 'cron_invalid' => 'Expresión cron no válida', // Status fix command @@ -17,7 +17,7 @@ 'confirm' => '¿Desea continuar?', 'fail' => 'Comando abortado.', 'finished' => '✅ ¡Hecho!', - 'info_1' => 'Esto comprobará todos los resultados y corregirá el estado a "completado" o "fallado" basado en los datos.', + 'info_1' => 'Esto comprobará todos los resultados y cambiará el estado a "completado" o "fallido" basado en los datos', 'info_2' => '📖 Lee la documentación: https://docs.speedtest-tracker.dev/other/commands', ], ]; diff --git a/lang/es_ES/general.php b/lang/es_ES/general.php index 270adc512..f58686338 100644 --- a/lang/es_ES/general.php +++ b/lang/es_ES/general.php @@ -13,22 +13,22 @@ 'edit' => 'Editar', 'create' => 'Crear', 'search' => 'Buscar', - 'filter' => 'Filtro', + 'filter' => 'Filtrar', 'export' => 'Exportar', 'actions' => 'Acciones', 'enable' => 'Activar', 'yes' => 'Sí', - 'no' => 'Nu', + 'no' => 'No', 'options' => 'Opciones', 'details' => 'Detalles', 'view' => 'Ver', // Common labels 'name' => 'Nombre', - 'email' => 'E-mail', - 'email_address' => 'Dirección de email', + 'email' => 'Correo electrónico', + 'email_address' => 'Dirección de correo electrónico', 'password' => 'Contraseña', - 'password_confirmation' => 'Confirmación de contraseña', + 'password_confirmation' => 'Repite la contraseña', 'id' => 'ID', 'status' => 'Estado', 'message' => 'Mensaje', @@ -43,18 +43,20 @@ 'statistics' => 'Estadísticas', // Navigation - 'dashboard' => 'Tablero', + 'dashboard' => 'Panel de control', 'results' => 'Resultados', 'settings' => 'Ajustes', 'users' => 'Usuarios', 'documentation' => 'Documentación', + 'documentation_description' => '¿Necesitas ayuda para empezar o configurar tus pruebas?', 'view_documentation' => 'Ver documentación', 'links' => 'Enlaces', 'donate' => 'Donar', 'donations' => 'Donaciones', + 'donations_description' => 'Apoya el desarrollo y mantenimiento de SpeedTracker haciendo una donación.', // Roles - 'admin' => 'Admin', + 'admin' => 'Administrador', 'user' => 'Usuario', 'role' => 'Rol', diff --git a/lang/es_ES/passwords.php b/lang/es_ES/passwords.php index c1132d746..1259ad569 100644 --- a/lang/es_ES/passwords.php +++ b/lang/es_ES/passwords.php @@ -14,7 +14,7 @@ */ 'reset' => '¡Tu contraseña ha sido restablecida!', - 'sent' => '¡Hemos enviado por correo electrónico tu enlace de restablecimiento de contraseña!', - 'password' => 'La contraseña y la confirmación deben coincidir y contener al menos seis caracteres.', + 'sent' => '¡Hemos enviado por correo electrónico un enlace para restablecer la contraseña!', + 'password' => 'Ambas contraseñas deben coincidir y contener al menos seis caracteres', ]; diff --git a/lang/es_ES/results.php b/lang/es_ES/results.php index 89df7e984..a1e55f656 100644 --- a/lang/es_ES/results.php +++ b/lang/es_ES/results.php @@ -7,50 +7,50 @@ // Metrics 'download' => 'Descargar', - 'download_latency_high' => 'Descargar latencia alta', - 'download_latency_low' => 'Descargar latencia baja', - 'download_latency_iqm' => 'Descargar latencia IQM', - 'download_latency_jitter' => 'Descargar jitter de latencia', + 'download_latency_high' => 'Latencia de descarga alta', + 'download_latency_low' => 'Latencia de descarga baja', + 'download_latency_iqm' => 'Latencia de descarga IQM', + 'download_latency_jitter' => 'Variación de latencia de descarga', - 'upload' => 'Subir', - 'upload_latency_high' => 'Subir latencia alta', - 'upload_latency_low' => 'Subir latencia baja', - 'upload_latency_iqm' => 'Cargar latencia IQM', - 'upload_latency_jitter' => 'Subir jitter de latencia', + 'upload' => 'Subida', + 'upload_latency_high' => 'Latencia de subida alta', + 'upload_latency_low' => 'Latencia de subida baja', + 'upload_latency_iqm' => 'Latencia de subida IQM', + 'upload_latency_jitter' => 'Variación de latencia de subida', - 'ping' => 'Señal', + 'ping' => 'Ping', 'ping_details' => 'Detalles de ping', - 'ping_jitter' => 'Ping jitter', + 'ping_jitter' => 'Variación de ping', 'ping_high' => 'Ping alto', 'ping_low' => 'Ping bajo', - 'packet_loss' => 'Pérdida del paquete', + 'packet_loss' => 'Paquetes perdidos', 'iqm' => 'IQM', // Server & metadata 'server_&_metadata' => 'Servidor y metadatos', 'server_id' => 'ID del servidor', - 'server_host' => 'Servidor host', + 'server_host' => 'Host del servidor', 'server_name' => 'Nombre del servidor', 'server_location' => 'Ubicación del servidor', 'service' => 'Servicio', - 'isp' => 'ISP', + 'isp' => 'Proveedor de internet', 'ip_address' => 'Dirección IP', 'scheduled' => 'Programado', // Filters - 'only_healthy_speedtests' => 'Sólo pruebas de velocidad saludables', - 'only_unhealthy_speedtests' => 'Sólo pruebas de velocidad poco saludables', - 'only_manual_speedtests' => 'Sólo pruebas de velocidad manuales', - 'only_scheduled_speedtests' => 'Sólo pruebas de velocidad programadas', - 'created_from' => 'Creado a partir de', + 'only_healthy_speedtests' => 'Solo pruebas de velocidad saludables', + 'only_unhealthy_speedtests' => 'Sólo pruebas de velocidad no saludables', + 'only_manual_speedtests' => 'Solo pruebas de velocidad manuales', + 'only_scheduled_speedtests' => 'Solo pruebas de velocidad programadas', + 'created_from' => 'Creado desde', 'created_until' => 'Creado hasta', // Export 'export_all_results' => 'Exportar todos los resultados', - 'export_all_results_description' => 'Exportará cada columna para todos los resultados.', + 'export_all_results_description' => 'Exportará todas las columnas para todos los resultados.', 'export_completed' => 'Exportación completada, :count :rows exportadas.', - 'failed_export' => ':count :rows falló al exportar.', + 'failed_export' => ':count :ros exportación fallida.', 'row' => '{1} :count fila|[2,*] :count filas', // Actions @@ -58,14 +58,14 @@ 'view_on_speedtest_net' => 'Ver en Speedtest.net', // Notifications - 'speedtest_benchmark_passed' => 'La prueba de rendimiento de velocidad ha pasado', + 'speedtest_benchmark_passed' => 'Prueba de velocidad superada', 'speedtest_benchmark_failed' => 'Prueba de rendimiento de velocidad fallida', - 'speedtest_started' => 'Velocidad iniciada', - 'speedtest_completed' => 'Velocidad completada', - 'speedtest_failed' => 'Error en la prueba de velocidad', - 'download_threshold_breached' => '¡Umbral de descarga incumplido!', - 'upload_threshold_breached' => '¡Umbral de subida infringido!', - 'ping_threshold_breached' => '¡Umbral de ping infringido!', + 'speedtest_started' => 'Prueba de velocidad iniciada', + 'speedtest_completed' => 'Prueba de velocidad completada', + 'speedtest_failed' => 'Prueba de velocidad fallida', + 'download_threshold_breached' => '¡Umbral de descarga superado!', + 'upload_threshold_breached' => '¡Umbral de subida superado!', + 'ping_threshold_breached' => '¡Umbral de ping superado!', // Run Speedtest Action 'speedtest' => 'Velocidad', diff --git a/lang/es_ES/settings.php b/lang/es_ES/settings.php index 102901771..565addcaf 100644 --- a/lang/es_ES/settings.php +++ b/lang/es_ES/settings.php @@ -1,13 +1,13 @@ 'Ajustes', - 'label' => 'Ajustes', + 'title' => 'Configuración', + 'label' => 'Configuración', // Common settings labels 'triggers' => 'Disparadores', 'verify_ssl' => 'Verificar SSL', - 'username' => 'Usuario', - 'username_placeholder' => 'Nombre de usuario para Auth Básica (opcional)', + 'username' => 'Nombre de usuario', + 'username_placeholder' => 'Nombre de usuario para autenticación Básica (opcional)', 'password_placeholder' => 'Contraseña para autenticación básica (opcional)', ]; diff --git a/lang/es_ES/settings/data_integration.php b/lang/es_ES/settings/data_integration.php index a1b024848..a53326dc2 100644 --- a/lang/es_ES/settings/data_integration.php +++ b/lang/es_ES/settings/data_integration.php @@ -6,13 +6,13 @@ // InfluxDB v2 'influxdb_v2' => 'InfluxDB v2', - 'influxdb_v2_description' => 'Cuando está activado, todos los nuevos resultados de Speedtest también serán enviados a InfluxDB.', + 'influxdb_v2_description' => 'Cuando está activado, los nuevos resultados de las pruebas también serán enviados a InfluxDB.', 'influxdb_v2_enabled' => 'Activar', 'influxdb_v2_url' => 'URL', 'influxdb_v2_url_placeholder' => 'http://su-instancia-influxdb', 'influxdb_v2_org' => 'Org', 'influxdb_v2_bucket' => 'Cubo', - 'influxdb_v2_bucket_placeholder' => 'rastreador de velocidad', + 'influxdb_v2_bucket_placeholder' => 'registros-de-velocidad', 'influxdb_v2_token' => 'Token', 'influxdb_v2_verify_ssl' => 'Verificar SSL', @@ -25,20 +25,20 @@ 'influxdb_test_failed' => 'Prueba de Influxdb fallida', 'influxdb_test_failed_body' => 'Revisa los registros para más detalles.', 'influxdb_test_success' => 'Datos de prueba enviados con éxito a Influxdb', - 'influxdb_test_success_body' => 'Los datos de prueba han sido enviados a InfluxDB, compruebe si los datos han sido recibidos.', + 'influxdb_test_success_body' => 'Los datos de prueba han sido enviados a InfluxDB, comprueba si los datos han sido recibidos', // Bulk write notifications 'influxdb_bulk_write_failed' => 'Error al escribir en masa a Influxdb.', 'influxdb_bulk_write_failed_body' => 'Revisa los registros para más detalles.', 'influxdb_bulk_write_success' => 'Carga de datos en masa a Influxdb.', - 'influxdb_bulk_write_success_body' => 'Los datos han sido enviados a InfluxDB, compruebe si los datos han sido recibidos.', + 'influxdb_bulk_write_success_body' => 'Los datos han sido enviados a InfluxDB, comprueba si los datos han sido recibidos.', // Prometheus - 'prometheus' => 'Prometeo', + 'prometheus' => 'Prometheus', 'prometheus_enabled' => 'Activar', - 'prometheus_enabled_helper_text' => 'Cuando está activado, las métricas para cada prueba de velocidad nueva estarán disponibles en el punto final /prometheus.', + 'prometheus_enabled_helper_text' => 'Cuando está activado, las métricas para cada prueba de velocidad nueva estarán disponibles en el extremo /prometheus.', 'prometheus_allowed_ips' => 'Direcciones IP permitidas', - 'prometheus_allowed_ips_helper' => 'Lista de direcciones IP o rangos CIDR (por ejemplo, 192.168.1.0/24) permitieron acceder al extremo de las métricas. Dejar en blanco para permitir todas las IPs.', + 'prometheus_allowed_ips_helper' => 'Lista de direcciones IP o rangos CIDR (por ejemplo, 192.168.1.0/24) permitidas para acceder al extremo de las métricas. Dejar en blanco para permitir todas las IPs.', // Common labels 'org' => 'Org', diff --git a/lang/es_ES/settings/notifications.php b/lang/es_ES/settings/notifications.php index d19c00f5e..e7dd1b702 100644 --- a/lang/es_ES/settings/notifications.php +++ b/lang/es_ES/settings/notifications.php @@ -56,6 +56,7 @@ 'webhook' => [ 'add' => '¡Añadir URL de webhook!', 'sent' => 'Prueba de notificación de webhook enviada.', + 'failed' => 'Notificación de Webhook fallida.', 'payload' => 'Probando notificación de webhook', ], ], diff --git a/lang/es_ES/settings/thresholds.php b/lang/es_ES/settings/thresholds.php index 8fc4e7748..cc7e6599c 100644 --- a/lang/es_ES/settings/thresholds.php +++ b/lang/es_ES/settings/thresholds.php @@ -6,7 +6,7 @@ // Absolute thresholds 'absolute' => 'Absoluto', - 'absolute_description' => 'Los umbrales absolutos no tienen en cuenta la historia anterior y podrían ser activados en cada prueba.', + 'absolute_description' => 'Los umbrales absolutos no tienen en cuenta el historial anterior y podrían ser activados en cada prueba', 'absolute_enabled' => 'Habilitar umbrales absolutos', // Metrics section diff --git a/lang/es_ES/tools.php b/lang/es_ES/tools.php index 249d79aae..65f20093c 100644 --- a/lang/es_ES/tools.php +++ b/lang/es_ES/tools.php @@ -2,5 +2,5 @@ return [ // Ookla server list - 'ookla_servers' => 'Servidores Ookla', + 'ookla_servers' => 'Servidores de Ookla', ]; diff --git a/lang/es_ES/validation.php b/lang/es_ES/validation.php index 9eb5a792a..fce586284 100644 --- a/lang/es_ES/validation.php +++ b/lang/es_ES/validation.php @@ -50,14 +50,14 @@ 'country' => 'país', 'date' => 'fecha', 'day' => 'día', - 'excerpt' => 'summary', + 'excerpt' => 'resumen', 'first_name' => 'nombre', 'gender' => 'género', 'marital_status' => 'estado civil', 'profession' => 'profesión', 'nationality' => 'nacionalidad', 'hour' => 'hora', - 'last_name' => 'apellido', + 'last_name' => 'apellidos', 'message' => 'mensaje', 'minute' => 'minuto', 'mobile' => 'móvil', @@ -65,7 +65,7 @@ 'name' => 'nombre', 'zipcode' => 'código postal', 'company_name' => 'nombre de empresa', - 'neighborhood' => 'vecindad', + 'neighborhood' => 'barrio', 'number' => 'número', 'password' => 'contraseña', 'phone' => 'teléfono', @@ -75,7 +75,7 @@ 'street' => 'calle', 'subject' => 'tema', 'text' => 'texto', - 'time' => 'tiempo', + 'time' => 'hora', 'title' => 'título', 'username' => 'nombre de usuario', 'year' => 'año', diff --git a/lang/nl_NL/general.php b/lang/nl_NL/general.php index 014edba84..379644919 100644 --- a/lang/nl_NL/general.php +++ b/lang/nl_NL/general.php @@ -48,10 +48,12 @@ 'settings' => 'Instellingen', 'users' => 'Gebruikers', 'documentation' => 'Documentatie', + 'documentation_description' => 'Hulp nodig bij het opstarten of configureren van uw snelheid testen?', 'view_documentation' => 'Bekijk documentatie', 'links' => 'Koppelingen', 'donate' => 'Doneren', 'donations' => 'Donaties', + 'donations_description' => 'Ondersteun de ontwikkeling en het onderhoud van Speedtest Tracker door een donatie te doen.', // Roles 'admin' => 'Beheerder', diff --git a/lang/nl_NL/settings/notifications.php b/lang/nl_NL/settings/notifications.php index 27dbd7140..2bb7e85fa 100644 --- a/lang/nl_NL/settings/notifications.php +++ b/lang/nl_NL/settings/notifications.php @@ -56,6 +56,7 @@ 'webhook' => [ 'add' => 'Voeg webhook URL\'s toe!', 'sent' => 'Test webhook melding verzonden.', + 'failed' => 'Webhook notificatie is mislukt.', 'payload' => 'Webhook melding', ], ], diff --git a/lang/pt_BR/api_tokens.php b/lang/pt_BR/api_tokens.php index 17ae5269c..e723f39c8 100644 --- a/lang/pt_BR/api_tokens.php +++ b/lang/pt_BR/api_tokens.php @@ -1,7 +1,7 @@ 'Tokens de API', + 'title' => 'API Tokens', 'label' => 'Tokens de API', // Token management diff --git a/lang/pt_BR/general.php b/lang/pt_BR/general.php index 56565dd1d..1a88eb7b1 100644 --- a/lang/pt_BR/general.php +++ b/lang/pt_BR/general.php @@ -48,10 +48,12 @@ 'settings' => 'Confirgurações', 'users' => 'Usuários', 'documentation' => 'Documentação', + 'documentation_description' => 'Precisa de ajuda para começar ou configurar seus testes de velocidade?', 'view_documentation' => 'Ver documentação', 'links' => 'Links', 'donate' => 'Doar', 'donations' => 'Doações', + 'donations_description' => 'Apoie o desenvolvimento e a manutenção do Speedtest Tracker fazendo uma doação.', // Roles 'admin' => 'Admin', diff --git a/lang/pt_BR/settings/notifications.php b/lang/pt_BR/settings/notifications.php index cee325eca..ef4e55040 100644 --- a/lang/pt_BR/settings/notifications.php +++ b/lang/pt_BR/settings/notifications.php @@ -56,6 +56,7 @@ 'webhook' => [ 'add' => 'Adicionar URLs webhook!', 'sent' => 'Notificação de teste webhook enviada.', + 'failed' => 'A notificação do webhook falhou.', 'payload' => 'Testando notificação webhook', ], ], From a48d103250e4de83998942824e4a5103b0b2ed5f Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Thu, 19 Feb 2026 22:14:18 -0500 Subject: [PATCH 08/11] Release v1.13.10 (#2711) --- config/speedtest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/speedtest.php b/config/speedtest.php index 9faa99341..31f0faf65 100644 --- a/config/speedtest.php +++ b/config/speedtest.php @@ -6,9 +6,9 @@ /** * General settings. */ - 'build_date' => Carbon::parse('2026-02-08'), + 'build_date' => Carbon::parse('2026-02-19'), - 'build_version' => 'v1.13.9', + 'build_version' => 'v1.13.10', 'content_width' => env('CONTENT_WIDTH', '7xl'), From 75b3a081a27ba21dec65741e1813720576cd1a94 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 2 Mar 2026 07:02:17 -0500 Subject: [PATCH 09/11] Bump rollup from 4.57.1 to 4.59.0 in the npm_and_yarn group across 1 directory (#2723) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 266 ++++++++++++++++++++++++++++------------------ 1 file changed, 163 insertions(+), 103 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8a6a64dd1..5e24ad19b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -506,9 +506,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz", - "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", + "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", "cpu": [ "arm" ], @@ -520,9 +520,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz", - "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", + "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", "cpu": [ "arm64" ], @@ -534,9 +534,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz", - "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", + "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", "cpu": [ "arm64" ], @@ -548,9 +548,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz", - "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", + "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", "cpu": [ "x64" ], @@ -562,9 +562,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz", - "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", + "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", "cpu": [ "arm64" ], @@ -576,9 +576,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz", - "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", + "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", "cpu": [ "x64" ], @@ -590,9 +590,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz", - "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", + "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", "cpu": [ "arm" ], @@ -604,9 +604,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz", - "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", + "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", "cpu": [ "arm" ], @@ -618,9 +618,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz", - "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", + "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", "cpu": [ "arm64" ], @@ -632,9 +632,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz", - "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", + "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", "cpu": [ "arm64" ], @@ -646,9 +646,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz", - "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", + "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", "cpu": [ "loong64" ], @@ -660,9 +660,9 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz", - "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", + "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", "cpu": [ "loong64" ], @@ -674,9 +674,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz", - "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", + "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", "cpu": [ "ppc64" ], @@ -688,9 +688,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz", - "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", + "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", "cpu": [ "ppc64" ], @@ -702,9 +702,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz", - "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", + "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", "cpu": [ "riscv64" ], @@ -716,9 +716,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz", - "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", + "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", "cpu": [ "riscv64" ], @@ -730,9 +730,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz", - "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", + "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", "cpu": [ "s390x" ], @@ -744,9 +744,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz", - "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", + "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", "cpu": [ "x64" ], @@ -758,9 +758,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz", - "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", + "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", "cpu": [ "x64" ], @@ -772,9 +772,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz", - "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", + "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", "cpu": [ "x64" ], @@ -786,9 +786,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz", - "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", + "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", "cpu": [ "arm64" ], @@ -800,9 +800,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz", - "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", + "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", "cpu": [ "arm64" ], @@ -814,9 +814,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz", - "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", + "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", "cpu": [ "ia32" ], @@ -828,9 +828,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz", - "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", + "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", "cpu": [ "x64" ], @@ -842,9 +842,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz", - "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", + "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", "cpu": [ "x64" ], @@ -1078,6 +1078,66 @@ "node": ">=14.0.0" } }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.7.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.1.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.7.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { + "version": "2.8.1", + "dev": true, + "inBundle": true, + "license": "0BSD", + "optional": true + }, "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { "version": "4.1.18", "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", @@ -1797,9 +1857,9 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.57.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz", - "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==", + "version": "4.59.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", + "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "dev": true, "license": "MIT", "dependencies": { @@ -1813,31 +1873,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.57.1", - "@rollup/rollup-android-arm64": "4.57.1", - "@rollup/rollup-darwin-arm64": "4.57.1", - "@rollup/rollup-darwin-x64": "4.57.1", - "@rollup/rollup-freebsd-arm64": "4.57.1", - "@rollup/rollup-freebsd-x64": "4.57.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.57.1", - "@rollup/rollup-linux-arm-musleabihf": "4.57.1", - "@rollup/rollup-linux-arm64-gnu": "4.57.1", - "@rollup/rollup-linux-arm64-musl": "4.57.1", - "@rollup/rollup-linux-loong64-gnu": "4.57.1", - "@rollup/rollup-linux-loong64-musl": "4.57.1", - "@rollup/rollup-linux-ppc64-gnu": "4.57.1", - "@rollup/rollup-linux-ppc64-musl": "4.57.1", - "@rollup/rollup-linux-riscv64-gnu": "4.57.1", - "@rollup/rollup-linux-riscv64-musl": "4.57.1", - "@rollup/rollup-linux-s390x-gnu": "4.57.1", - "@rollup/rollup-linux-x64-gnu": "4.57.1", - "@rollup/rollup-linux-x64-musl": "4.57.1", - "@rollup/rollup-openbsd-x64": "4.57.1", - "@rollup/rollup-openharmony-arm64": "4.57.1", - "@rollup/rollup-win32-arm64-msvc": "4.57.1", - "@rollup/rollup-win32-ia32-msvc": "4.57.1", - "@rollup/rollup-win32-x64-gnu": "4.57.1", - "@rollup/rollup-win32-x64-msvc": "4.57.1", + "@rollup/rollup-android-arm-eabi": "4.59.0", + "@rollup/rollup-android-arm64": "4.59.0", + "@rollup/rollup-darwin-arm64": "4.59.0", + "@rollup/rollup-darwin-x64": "4.59.0", + "@rollup/rollup-freebsd-arm64": "4.59.0", + "@rollup/rollup-freebsd-x64": "4.59.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", + "@rollup/rollup-linux-arm-musleabihf": "4.59.0", + "@rollup/rollup-linux-arm64-gnu": "4.59.0", + "@rollup/rollup-linux-arm64-musl": "4.59.0", + "@rollup/rollup-linux-loong64-gnu": "4.59.0", + "@rollup/rollup-linux-loong64-musl": "4.59.0", + "@rollup/rollup-linux-ppc64-gnu": "4.59.0", + "@rollup/rollup-linux-ppc64-musl": "4.59.0", + "@rollup/rollup-linux-riscv64-gnu": "4.59.0", + "@rollup/rollup-linux-riscv64-musl": "4.59.0", + "@rollup/rollup-linux-s390x-gnu": "4.59.0", + "@rollup/rollup-linux-x64-gnu": "4.59.0", + "@rollup/rollup-linux-x64-musl": "4.59.0", + "@rollup/rollup-openbsd-x64": "4.59.0", + "@rollup/rollup-openharmony-arm64": "4.59.0", + "@rollup/rollup-win32-arm64-msvc": "4.59.0", + "@rollup/rollup-win32-ia32-msvc": "4.59.0", + "@rollup/rollup-win32-x64-gnu": "4.59.0", + "@rollup/rollup-win32-x64-msvc": "4.59.0", "fsevents": "~2.3.2" } }, From 138ae9fb777c1b90155fa98031cb93e6c9e29906 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 8 Mar 2026 14:36:56 -0400 Subject: [PATCH 10/11] Bump league/commonmark from 2.8.0 to 2.8.1 in the composer group across 1 directory (#2729) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- composer.lock | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/composer.lock b/composer.lock index fbf3b90b6..8c09d80d6 100644 --- a/composer.lock +++ b/composer.lock @@ -2891,16 +2891,16 @@ }, { "name": "league/commonmark", - "version": "2.8.0", + "version": "2.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb" + "reference": "84b1ca48347efdbe775426f108622a42735a6579" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb", - "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/84b1ca48347efdbe775426f108622a42735a6579", + "reference": "84b1ca48347efdbe775426f108622a42735a6579", "shasum": "" }, "require": { @@ -2925,9 +2925,9 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 | ^7.0", - "symfony/process": "^5.4 | ^6.0 | ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0 || ^8.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0 || ^8.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" }, @@ -2994,7 +2994,7 @@ "type": "tidelift" } ], - "time": "2025-11-26T21:48:24+00:00" + "time": "2026-03-05T21:37:03+00:00" }, { "name": "league/config", @@ -4337,16 +4337,16 @@ }, { "name": "nette/schema", - "version": "v1.3.3", + "version": "v1.3.5", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004" + "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004", - "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004", + "url": "https://api.github.com/repos/nette/schema/zipball/f0ab1a3cda782dbc5da270d28545236aa80c4002", + "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002", "shasum": "" }, "require": { @@ -4354,8 +4354,10 @@ "php": "8.1 - 8.5" }, "require-dev": { - "nette/tester": "^2.5.2", - "phpstan/phpstan-nette": "^2.0@stable", + "nette/phpstan-rules": "^1.0", + "nette/tester": "^2.6", + "phpstan/extension-installer": "^1.4@stable", + "phpstan/phpstan": "^2.1.39@stable", "tracy/tracy": "^2.8" }, "type": "library", @@ -4396,22 +4398,22 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.3.3" + "source": "https://github.com/nette/schema/tree/v1.3.5" }, - "time": "2025-10-30T22:57:59+00:00" + "time": "2026-02-23T03:47:12+00:00" }, { "name": "nette/utils", - "version": "v4.1.2", + "version": "v4.1.3", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5" + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/f76b5dc3d6c6d3043c8d937df2698515b99cbaf5", - "reference": "f76b5dc3d6c6d3043c8d937df2698515b99cbaf5", + "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe", + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe", "shasum": "" }, "require": { @@ -4423,8 +4425,10 @@ }, "require-dev": { "jetbrains/phpstorm-attributes": "^1.2", + "nette/phpstan-rules": "^1.0", "nette/tester": "^2.5", - "phpstan/phpstan": "^2.0@stable", + "phpstan/extension-installer": "^1.4@stable", + "phpstan/phpstan": "^2.1@stable", "tracy/tracy": "^2.9" }, "suggest": { @@ -4485,9 +4489,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.1.2" + "source": "https://github.com/nette/utils/tree/v4.1.3" }, - "time": "2026-02-03T17:21:09+00:00" + "time": "2026-02-13T03:05:33+00:00" }, { "name": "nikic/php-parser", From 316b25360452e10c4dccca1e723d506365d00129 Mon Sep 17 00:00:00 2001 From: Alex Justesen Date: Sun, 8 Mar 2026 14:37:11 -0400 Subject: [PATCH 11/11] New Crowdin updates (#2724) --- lang/fr_FR/general.php | 2 ++ lang/fr_FR/settings/notifications.php | 1 + 2 files changed, 3 insertions(+) diff --git a/lang/fr_FR/general.php b/lang/fr_FR/general.php index 1865af7d7..02c0a5486 100644 --- a/lang/fr_FR/general.php +++ b/lang/fr_FR/general.php @@ -48,10 +48,12 @@ 'settings' => 'Réglages', 'users' => 'Utilisateurs', 'documentation' => 'Documentation', + 'documentation_description' => 'Besoin d\'aide pour démarrer ou configurer vos tests de vitesse ?', 'view_documentation' => 'Afficher la documentation', 'links' => 'Liens', 'donate' => 'Faire un don', 'donations' => 'Dons', + 'donations_description' => 'Soutenez le développement et la maintenance de Speedtest Tracker en faisant un don.', // Roles 'admin' => 'Administrateur', diff --git a/lang/fr_FR/settings/notifications.php b/lang/fr_FR/settings/notifications.php index 4a9bef1f6..183f93b74 100644 --- a/lang/fr_FR/settings/notifications.php +++ b/lang/fr_FR/settings/notifications.php @@ -56,6 +56,7 @@ 'webhook' => [ 'add' => 'Ajouter des URL de webhook !', 'sent' => 'Notification de test du webhook envoyée.', + 'failed' => 'Échec de la notification Webhook.', 'payload' => 'Test de la notification de webhook', ], ],