Skip to content

Commit f507c6a

Browse files
committed
Add multilang
1 parent 6def442 commit f507c6a

32 files changed

Lines changed: 1744 additions & 17 deletions

.DS_Store

6 KB
Binary file not shown.

content/_index.es.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
+++
2+
title = "Tornade Audio Player — Reproductor de audio nativo de alto rendimiento"
3+
description = "Tornade es un reproductor de audio nativo de alto rendimiento para macOS, Windows, Linux y Terminal. FLAC, OGG, MP3, WAV, AIFF. Motor Rust, huella de memoria reducida."
4+
date = "2026-02-15"
5+
draft = false
6+
7+
[params]
8+
ogTitle = "Tornade Audio Player — Reproductor de audio nativo de alto rendimiento"
9+
ogDescription = "Reproductor de audio nativo para macOS, Windows, Linux y CLI. FLAC, OGG, MP3, WAV, AIFF. Core Rust, 60MB RAM. Cola en tiempo real, escaneo local y en red."
10+
ogType = "website"
11+
+++

content/_index.fr.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
+++
2+
title = "Tornade Audio Player — Lecteur audio natif haute performance"
3+
description = "Tornade est un lecteur audio natif haute performance pour macOS, Windows, Linux et Terminal. Formats FLAC, OGG, MP3, WAV, AIFF. Moteur Rust, empreinte mémoire réduite."
4+
date = "2026-02-15"
5+
draft = false
6+
7+
[params]
8+
ogTitle = "Tornade Audio Player — Lecteur audio natif haute performance"
9+
ogDescription = "Lecteur audio natif pour macOS, Windows, Linux et CLI. FLAC, OGG, MP3, WAV, AIFF. Core Rust, 60MB RAM. Queue temps réel, scan local & réseau."
10+
ogType = "website"
11+
+++

content/_index.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
+++
2+
title = "Tornade Audio Player — High-performance native audio player"
3+
description = "Tornade is a high-performance native audio player for macOS, Windows, Linux and Terminal. FLAC, OGG, MP3, WAV, AIFF. Rust engine, low memory footprint."
4+
date = "2026-02-15"
5+
draft = false
6+
7+
[params]
8+
ogTitle = "Tornade Audio Player — High-performance native audio player"
9+
ogDescription = "Native audio player for macOS, Windows, Linux and CLI. FLAC, OGG, MP3, WAV, AIFF. Rust core, 60MB RAM. Real-time queue, local & network scanning."
10+
ogType = "website"
11+
+++

hugo.toml

Lines changed: 106 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,107 @@
11
baseURL = 'https://tornade.tf/'
2-
languageCode = 'en-us'
3-
title = 'My New Hugo Site'
2+
defaultContentLanguage = 'en'
3+
defaultContentLanguageInSubdir = false
4+
enableRobotsTXT = true
5+
disableKinds = ['taxonomy', 'term']
6+
7+
[params]
8+
author = "Tornade"
9+
twitterHandle = "@tornade_app"
10+
ogImage = "/images/og-image.png"
11+
12+
[params.jsonld]
13+
type = "SoftwareApplication"
14+
name = "Tornade"
15+
operatingSystem = "macOS, Windows, Linux"
16+
applicationCategory = "MultimediaApplication"
17+
offers_price = "0"
18+
offers_currency = "EUR"
19+
20+
[sitemap]
21+
changefreq = 'monthly'
22+
priority = 1.0
23+
filename = 'sitemap.xml'
24+
25+
# ── English (default — served at /) ──────────────────────────────────────────
26+
[languages.en]
27+
languageCode = 'en'
28+
languageName = 'English'
29+
title = 'Tornade Audio Player'
30+
weight = 1
31+
32+
[languages.en.params]
33+
description = "Tornade — High-performance native audio player for macOS, Windows, Linux and Terminal. FLAC, OGG, MP3, WAV, AIFF. Built in Rust."
34+
locale = "en_US"
35+
36+
[[languages.en.menus.main]]
37+
name = 'Download'
38+
url = '#download'
39+
weight = 10
40+
[[languages.en.menus.main]]
41+
name = 'Features'
42+
url = '#features'
43+
weight = 20
44+
[[languages.en.menus.main]]
45+
name = 'About'
46+
url = '#about'
47+
weight = 30
48+
[[languages.en.menus.main]]
49+
name = 'Contact'
50+
url = '#contact'
51+
weight = 40
52+
53+
# ── Français (served at /fr/) ─────────────────────────────────────────────────
54+
[languages.fr]
55+
languageCode = 'fr'
56+
languageName = 'Français'
57+
title = 'Tornade Audio Player'
58+
weight = 2
59+
60+
[languages.fr.params]
61+
description = "Tornade — Lecteur audio natif haute performance pour macOS, Windows, Linux et Terminal. FLAC, OGG, MP3, WAV, AIFF. Développé en Rust."
62+
locale = "fr_FR"
63+
64+
[[languages.fr.menus.main]]
65+
name = 'Téléchargement'
66+
url = '#download'
67+
weight = 10
68+
[[languages.fr.menus.main]]
69+
name = 'Fonctionnalités'
70+
url = '#features'
71+
weight = 20
72+
[[languages.fr.menus.main]]
73+
name = 'À propos'
74+
url = '#about'
75+
weight = 30
76+
[[languages.fr.menus.main]]
77+
name = 'Contact'
78+
url = '#contact'
79+
weight = 40
80+
81+
# ── Español (served at /es/) ──────────────────────────────────────────────────
82+
[languages.es]
83+
languageCode = 'es'
84+
languageName = 'Español'
85+
title = 'Tornade Audio Player'
86+
weight = 3
87+
88+
[languages.es.params]
89+
description = "Tornade — Reproductor de audio nativo de alto rendimiento para macOS, Windows, Linux y Terminal. FLAC, OGG, MP3, WAV, AIFF. Desarrollado en Rust."
90+
locale = "es_ES"
91+
92+
[[languages.es.menus.main]]
93+
name = 'Descarga'
94+
url = '#download'
95+
weight = 10
96+
[[languages.es.menus.main]]
97+
name = 'Características'
98+
url = '#features'
99+
weight = 20
100+
[[languages.es.menus.main]]
101+
name = 'Acerca de'
102+
url = '#about'
103+
weight = 30
104+
[[languages.es.menus.main]]
105+
name = 'Contacto'
106+
url = '#contact'
107+
weight = 40

i18n/en.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
hero_subtitle:
2+
other: "High-performance native audio application available on macOS, Windows, Linux and directly from the Terminal."
3+
cta_download:
4+
other: "Download"
5+
cta_docs:
6+
other: "Documentation"
7+
feat_formats_title:
8+
other: "Professional Audio Formats"
9+
feat_formats_desc:
10+
other: "Native playback of FLAC, OGG, MP3, WAV, AIFF and high-fidelity formats without intermediate conversion."
11+
feat_rust_title:
12+
other: "Rust-Powered Core"
13+
feat_rust_desc:
14+
other: "Audio engine entirely written in Rust, guaranteeing memory safety, maximum stability and consistent performance."
15+
feat_queue_title:
16+
other: "Real-Time Queue"
17+
feat_queue_desc:
18+
other: "Dynamic playback queue allowing tracks to be added or scheduled without interrupting playback."
19+
feat_performance_title:
20+
other: "Native Performance"
21+
feat_performance_desc:
22+
other: "Architecture compiled for each OS offering minimal latency and deep integration with system APIs."
23+
feat_memory_title:
24+
other: "Low Memory Footprint"
25+
feat_memory_desc:
26+
other: "Approximately 60MB RAM on macOS while maintaining high-resolution audio performance."
27+
feat_desktop_title:
28+
other: "Desktop-First Design"
29+
feat_desktop_desc:
30+
other: "Leverages drag & drop, context menus and advanced system interactions of modern operating systems."
31+
feat_scan_title:
32+
other: "Local & Network Scanning"
33+
feat_scan_desc:
34+
other: "Automatic scanning of local libraries or NAS, network storage and remote servers."
35+
feat_metadata_title:
36+
other: "Metadata Scraping"
37+
feat_metadata_desc:
38+
other: "Automatic retrieval of album artwork and artist information."
39+
feat_playlists_title:
40+
other: "Instant Playlists"
41+
feat_playlists_desc:
42+
other: "Create and modify playlists on the fly without reloading the audio engine."

i18n/es.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
hero_subtitle:
2+
other: "Aplicación de audio nativa de alto rendimiento disponible en macOS, Windows, Linux y directamente desde el Terminal."
3+
cta_download:
4+
other: "Descargar"
5+
cta_docs:
6+
other: "Documentación"
7+
feat_formats_title:
8+
other: "Formatos de Audio Profesionales"
9+
feat_formats_desc:
10+
other: "Reproducción nativa de FLAC, OGG, MP3, WAV, AIFF y formatos de alta fidelidad sin conversión intermedia."
11+
feat_rust_title:
12+
other: "Motor en Rust"
13+
feat_rust_desc:
14+
other: "Motor de audio completamente escrito en Rust, garantizando seguridad de memoria, máxima estabilidad y rendimiento constante."
15+
feat_queue_title:
16+
other: "Cola en Tiempo Real"
17+
feat_queue_desc:
18+
other: "Creación dinámica de listas de reproducción que permite agregar o programar pistas sin interrumpir la reproducción."
19+
feat_performance_title:
20+
other: "Rendimiento Nativo"
21+
feat_performance_desc:
22+
other: "Arquitectura compilada para cada sistema operativo ofreciendo latencia mínima e integración profunda con las API del sistema."
23+
feat_memory_title:
24+
other: "Huella de Memoria Reducida"
25+
feat_memory_desc:
26+
other: "Aproximadamente 60MB de RAM en macOS manteniendo rendimiento de audio de alta resolución."
27+
feat_desktop_title:
28+
other: "Diseñado para Desktop"
29+
feat_desktop_desc:
30+
other: "Aprovecha arrastrar y soltar, menús contextuales e interacciones avanzadas del sistema en sistemas operativos modernos."
31+
feat_scan_title:
32+
other: "Escaneo Local y en Red"
33+
feat_scan_desc:
34+
other: "Escaneo automático de bibliotecas locales o NAS, almacenamiento en red y servidores remotos."
35+
feat_metadata_title:
36+
other: "Extracción de Metadatos"
37+
feat_metadata_desc:
38+
other: "Recuperación automática de portadas de álbumes e información de artistas."
39+
feat_playlists_title:
40+
other: "Listas de Reproducción Instantáneas"
41+
feat_playlists_desc:
42+
other: "Crear y modificar listas de reproducción al vuelo sin recargar el motor de audio."

i18n/fr.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
hero_subtitle:
2+
other: "Application audio native haute performance disponible sur macOS, Windows, Linux et utilisable directement depuis le Terminal."
3+
cta_download:
4+
other: "Télécharger"
5+
cta_docs:
6+
other: "Documentation"
7+
feat_formats_title:
8+
other: "Formats Audio Professionnels"
9+
feat_formats_desc:
10+
other: "Lecture native FLAC, OGG, MP3, WAV, AIFF et formats haute fidélité sans conversion intermédiaire."
11+
feat_rust_title:
12+
other: "Core Développé en Rust"
13+
feat_rust_desc:
14+
other: "Moteur audio entièrement écrit en Rust garantissant sécurité mémoire, stabilité maximale et performances constantes."
15+
feat_queue_title:
16+
other: "Queue Temps Réel"
17+
feat_queue_desc:
18+
other: "Création dynamique de file de lecture permettant d'ajouter ou prévoir des morceaux sans interrompre la lecture."
19+
feat_performance_title:
20+
other: "Performance Native"
21+
feat_performance_desc:
22+
other: "Architecture compilée pour chaque OS offrant latence minimale et intégration profonde avec les API systèmes."
23+
feat_memory_title:
24+
other: "Empreinte Mémoire Réduite"
25+
feat_memory_desc:
26+
other: "Environ 60MB de RAM sur macOS tout en conservant des performances audio haute résolution."
27+
feat_desktop_title:
28+
other: "Pensé Pour Desktop"
29+
feat_desktop_desc:
30+
other: "Exploite drag & drop, menus contextuels et interactions système avancées des OS modernes."
31+
feat_scan_title:
32+
other: "Scan Local & Réseau"
33+
feat_scan_desc:
34+
other: "Analyse automatique de bibliothèques locales ou NAS, stockages réseau et serveurs distants."
35+
feat_metadata_title:
36+
other: "Scrapping Métadonnées"
37+
feat_metadata_desc:
38+
other: "Récupération automatique des pochettes d'albums et informations artistes."
39+
feat_playlists_title:
40+
other: "Playlists Instantanées"
41+
feat_playlists_desc:
42+
other: "Création et modification de playlists à la volée sans rechargement du moteur audio."

layouts/_default/baseof.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!DOCTYPE html>
2+
<html lang="{{ site.LanguageCode }}" data-theme="dim">
3+
<head>
4+
{{ partial "head.html" . }}
5+
</head>
6+
<body class="min-h-screen flex flex-col bg-base-100">
7+
{{ partial "navbar.html" . }}
8+
<main class="flex-1">
9+
{{ block "main" . }}{{ end }}
10+
</main>
11+
{{ partial "footer.html" . }}
12+
</body>
13+
</html>

layouts/index.html

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{{ define "main" }}
2+
<div class="container mx-auto px-6 py-16">
3+
4+
<!-- HERO -->
5+
<section id="download">
6+
<div class="hero">
7+
<div class="hero-content text-center flex-col">
8+
9+
<img src="{{ absURL "images/tornade.png" }}" class="w-44 mb-6" alt="Tornade logo" />
10+
11+
<h1 class="text-4xl font-semibold">Tornade Audio Player</h1>
12+
13+
<p class="max-w-xl opacity-80 mt-4">{{ i18n "hero_subtitle" }}</p>
14+
15+
<!-- PLATFORM BADGES -->
16+
<div class="flex flex-wrap justify-center gap-2 mt-6">
17+
<div class="badge badge-primary">macOS</div>
18+
<div class="badge badge-neutral">Windows</div>
19+
<div class="badge badge-neutral">Linux</div>
20+
<div class="badge badge-neutral">Terminal / CLI</div>
21+
</div>
22+
23+
<!-- CTA -->
24+
<div class="mt-8 flex gap-4">
25+
<button class="btn btn-primary">{{ i18n "cta_download" }}</button>
26+
<button class="btn btn-ghost">{{ i18n "cta_docs" }}</button>
27+
</div>
28+
29+
</div>
30+
</div>
31+
</section>
32+
33+
<!-- FEATURES GRID -->
34+
<section id="features" class="mt-16">
35+
{{ $features := slice
36+
(dict "t" "feat_formats_title" "d" "feat_formats_desc" "i" "formats")
37+
(dict "t" "feat_rust_title" "d" "feat_rust_desc" "i" "rust")
38+
(dict "t" "feat_queue_title" "d" "feat_queue_desc" "i" "queue")
39+
(dict "t" "feat_performance_title" "d" "feat_performance_desc" "i" "performance")
40+
(dict "t" "feat_memory_title" "d" "feat_memory_desc" "i" "memory")
41+
(dict "t" "feat_desktop_title" "d" "feat_desktop_desc" "i" "desktop")
42+
(dict "t" "feat_scan_title" "d" "feat_scan_desc" "i" "scan")
43+
(dict "t" "feat_metadata_title" "d" "feat_metadata_desc" "i" "metadata")
44+
(dict "t" "feat_playlists_title" "d" "feat_playlists_desc" "i" "playlists")
45+
}}
46+
<div class="grid md:grid-cols-3 gap-6">
47+
{{ range $features }}
48+
<div class="card bg-base-200 shadow-sm">
49+
<div class="card-body">
50+
<div class="w-12 h-12 rounded-xl flex items-center justify-center bg-primary/10 text-primary mb-1">
51+
{{ partial "icon.html" .i }}
52+
</div>
53+
<h2 class="card-title">{{ i18n .t }}</h2>
54+
<p>{{ i18n .d }}</p>
55+
</div>
56+
</div>
57+
{{ end }}
58+
</div>
59+
</section>
60+
61+
</div>
62+
{{ end }}

0 commit comments

Comments
 (0)