Files
HouseHub/includes/i18n.php
T
percoandClaude Sonnet 4.6 94d85dc8da
Deploy to Pacha Family / deploy (push) Failing after 4s
feat: ajout traduction anglaise (EN) — 548 clés traduites
- includes/lang/en.php : traduction complète EN (tests, nav, auth, home, calendrier, voyages, budget, cadeaux)
- includes/i18n.php : ajout 'en' dans les langues acceptées
- header.php : ajout du sélecteur EN dans la barre de langues
- README.md : documentation mise à jour

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 14:44:23 +02:00

29 lines
922 B
PHP

<?php
// Démarrer la session si ce n'est pas déjà fait (souvent fait dans auth.php, mais on sécurise)
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
// 1. Changement de langue si l'utilisateur a cliqué sur un drapeau
if (isset($_GET['lang']) && in_array($_GET['lang'], ['fr', 'ca', 'en'])) {
$_SESSION['app_lang'] = $_GET['lang'];
}
// 2. Langue par défaut = Français
$current_lang = $_SESSION['app_lang'] ?? 'fr';
// 3. Chargement du bon dictionnaire
$lang_file = __DIR__ . '/lang/' . $current_lang . '.php';
if (file_exists($lang_file)) {
$GLOBALS['translations'] = include $lang_file;
} else {
$GLOBALS['translations'] = [];
}
// 4. La fonction magique de traduction
// Si le mot existe dans le dictionnaire on l'affiche, sinon on affiche la clé par défaut
if (!function_exists('tr')) {
function tr($key) {
return $GLOBALS['translations'][$key] ?? $key;
}
}