Deploy to Pacha Family / deploy (push) Failing after 4s
- 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>
29 lines
922 B
PHP
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;
|
|
}
|
|
} |