i18n: About page fully internationalized
CI / lint (push) Failing after 21s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / e2e (push) Has been skipped
CI / security (push) Failing after 10s

HTML:
- tagline: data-i18n-html for line break support
- stats labels: about.files instead of palette.mode_files
- built_with, last_delivery, made_with: data-i18n spans

config.js:
- Months array: 12 French months -> t('month.*')
- Jokes array: 10 French jokes -> t('about.joke_*')
- Joke display: removed hardcoded «» wrappers

Locales:
- +34 new keys (months, jokes, about labels)
- 1231 keys in each locale
This commit is contained in:
2026-06-19 11:08:11 -04:00
parent 093d04b7ca
commit 7cdb9ca5a1
4 changed files with 67 additions and 17 deletions
+3 -3
View File
@@ -375,7 +375,7 @@
id="search-dropdown-titles" id="search-dropdown-titles"
> >
<div class="search-dropdown__section-header"> <div class="search-dropdown__section-header">
<span data-i18n="palette.mode_files">Fichiers</span> <span data-i18n="about.files">Files</span>
</div> </div>
<ul <ul
class="search-dropdown__list" class="search-dropdown__list"
@@ -4792,7 +4792,7 @@ curl -X POST https://votre-serveur.com/webhook \
</svg> </svg>
</div> </div>
<h1 class="about-title" data-i18n="header.logo">ObsiGate</h1> <h1 class="about-title" data-i18n="header.logo">ObsiGate</h1>
<p class="about-tagline">Vos notes Obsidian,<br>simplement accessibles.</p> <p class="about-tagline" data-i18n-html="about.tagline">Vos notes Obsidian,<br>simplement accessibles.</p>
<span class="about-version">v2.0.0-dev</span> <span class="about-version">v2.0.0-dev</span>
</div> </div>
<div class="about-body"> <div class="about-body">
@@ -4833,7 +4833,7 @@ curl -X POST https://votre-serveur.com/webhook \
<span>Git&nbsp;: <strong id="about-commit">—</strong></span> <span>Git&nbsp;: <strong id="about-commit">—</strong></span>
</div> </div>
<p class="about-joke" id="about-joke"></p> <p class="about-joke" id="about-joke"></p>
<p class="about-copy">&copy; 2026 — Fait avec ☕, 🎧 et quelques <code>git push --force</code> accidentels.</p> <p class="about-copy">&copy; 2026 — <span data-i18n="about.made_with">Fait avec ☕, 🎧 et quelques <code>git push --force</code> accidentels.</span></p>
</div> </div>
</div> </div>
</div> </div>
+12 -12
View File
@@ -1517,25 +1517,25 @@ function initAboutModal() {
// Build date (today) // Build date (today)
var now = new Date(); var now = new Date();
var months = ['Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre']; var months = [t('month.january'),t('month.february'),t('month.march'),t('month.april'),t('month.may'),t('month.june'),t('month.july'),t('month.august'),t('month.september'),t('month.october'),t('month.november'),t('month.december')];
var dateEl = document.getElementById('about-build-date'); var dateEl = document.getElementById('about-build-date');
if (dateEl) dateEl.textContent = months[now.getMonth()] + ' ' + now.getFullYear(); if (dateEl) dateEl.textContent = months[now.getMonth()] + ' ' + now.getFullYear();
// Random joke // Random joke
var jokes = [ var jokes = [
'0 bug connu. Les autres sont timides.', t('about.joke_0'),
'Compile du premier coup. (Sauf le lundi matin.)', t('about.joke_1'),
'Ecrit par un humain. Probablement.', t('about.joke_2'),
'Aucun LLM n\'a ete blesse durant ce developpement.', t('about.joke_3'),
'Quand ca marche, on appelle ca une feature.', t('about.joke_4'),
'CSS: 90% du temps de dev, 10% du code.', t('about.joke_5'),
'Dark mode active depuis la naissance du projet.', t('about.joke_6'),
'Ca marche sur ma machine™', t('about.joke_7'),
'Techniquement, tout est un edge case.', t('about.joke_8'),
'Le CSS de ce panneau a pris plus de temps que le backend.' t('about.joke_9')
]; ];
var jokeEl = document.getElementById('about-joke'); var jokeEl = document.getElementById('about-joke');
if (jokeEl) jokeEl.textContent = '« ' + jokes[Math.floor(Math.random() * jokes.length)] + ' »'; if (jokeEl) jokeEl.textContent = jokes[Math.floor(Math.random() * jokes.length)];
} }
} }
+26 -1
View File
@@ -1207,5 +1207,30 @@
"graph.ctrl_hover_preview": "Ctrl+hover = full preview", "graph.ctrl_hover_preview": "Ctrl+hover = full preview",
"graph.published_badge": "✅ published", "graph.published_badge": "✅ published",
"graph.click_to_open": "click to open", "graph.click_to_open": "click to open",
"graph.ctrl_hover_preview_short": "Ctrl+hover = preview" "graph.ctrl_hover_preview_short": "Ctrl+hover = preview",
"about.tagline": "Your Obsidian notes,<br>simply accessible.",
"about.files": "Files",
"about.made_with": "Made with ☕, 🎧 and a few accidental <code>git push --force</code>.",
"month.january": "January",
"month.february": "February",
"month.march": "March",
"month.april": "April",
"month.may": "May",
"month.june": "June",
"month.july": "July",
"month.august": "August",
"month.september": "September",
"month.october": "October",
"month.november": "November",
"month.december": "December",
"about.joke_0": "0 known bugs. The others are shy.",
"about.joke_1": "Compiles on the first try. (Except Monday mornings.)",
"about.joke_2": "Written by a human. Probably.",
"about.joke_3": "No LLMs were harmed during this development.",
"about.joke_4": "When it works, we call it a feature.",
"about.joke_5": "CSS: 90% of dev time, 10% of the code.",
"about.joke_6": "Dark mode active since the project's birth.",
"about.joke_7": "Works on my machine™",
"about.joke_8": "Technically, everything is an edge case.",
"about.joke_9": "The CSS for this panel took longer than the backend."
} }
+26 -1
View File
@@ -1207,5 +1207,30 @@
"graph.ctrl_hover_preview": "Ctrl+survol = aperçu complet", "graph.ctrl_hover_preview": "Ctrl+survol = aperçu complet",
"graph.published_badge": "✅ publié", "graph.published_badge": "✅ publié",
"graph.click_to_open": "cliquer pour ouvrir", "graph.click_to_open": "cliquer pour ouvrir",
"graph.ctrl_hover_preview_short": "Ctrl+survol = aperçu" "graph.ctrl_hover_preview_short": "Ctrl+survol = aperçu",
"about.tagline": "Vos notes Obsidian,<br>simplement accessibles.",
"about.files": "Fichiers",
"about.made_with": "Fait avec ☕, 🎧 et quelques <code>git push --force</code> accidentels.",
"month.january": "Janvier",
"month.february": "Février",
"month.march": "Mars",
"month.april": "Avril",
"month.may": "Mai",
"month.june": "Juin",
"month.july": "Juillet",
"month.august": "Août",
"month.september": "Septembre",
"month.october": "Octobre",
"month.november": "Novembre",
"month.december": "Décembre",
"about.joke_0": "0 bug connu. Les autres sont timides.",
"about.joke_1": "Compile du premier coup. (Sauf le lundi matin.)",
"about.joke_2": "Écrit par un humain. Probablement.",
"about.joke_3": "Aucun LLM n'a été blessé durant ce développement.",
"about.joke_4": "Quand ça marche, on appelle ça une feature.",
"about.joke_5": "CSS: 90% du temps de dev, 10% du code.",
"about.joke_6": "Dark mode activé depuis la naissance du projet.",
"about.joke_7": "Ça marche sur ma machine™",
"about.joke_8": "Techniquement, tout est un edge case.",
"about.joke_9": "Le CSS de ce panneau a pris plus de temps que le backend."
} }