| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- // Complete test of language switching functionality
- session_start();
- echo "=== Complete Language Switching Test ===\n\n";
- require_once 'includes/config.php';
- require_once 'includes/translation.php';
- // Test 1: Default language (no session, no GET)
- $_GET = array();
- $_SESSION = array();
- echo "Test 1 - Default language:\n";
- $translation = Translation::getInstance();
- echo "Current language: " . $translation->getCurrentLanguage() . "\n";
- echo "Test translation: " . $translation->translate('nav_home') . "\n";
- echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
- // Test 2: Language parameter in URL
- $_GET['lang'] = 'fi';
- echo "Test 2 - With lang=fi parameter:\n";
- $translation = Translation::getInstance();
- echo "Current language: " . $translation->getCurrentLanguage() . "\n";
- echo "Test translation: " . $translation->translate('nav_home') . "\n";
- echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
- // Test 3: Session persistence (clear GET, keep session)
- $_GET = array();
- echo "Test 3 - Session persistence (after Finnish set):\n";
- $translation = Translation::getInstance();
- echo "Current language: " . $translation->getCurrentLanguage() . "\n";
- echo "Test translation: " . $translation->translate('nav_home') . "\n";
- echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
- // Test 4: Switch back to English
- $_GET['lang'] = 'en';
- echo "Test 4 - Switch back to English:\n";
- $translation = Translation::getInstance();
- echo "Current language: " . $translation->getCurrentLanguage() . "\n";
- echo "Test translation: " . $translation->translate('nav_home') . "\n";
- echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
- // Test 5: Session persistence after English
- $_GET = array();
- echo "Test 5 - Session persistence (after English set):\n";
- $translation = Translation::getInstance();
- echo "Current language: " . $translation->getCurrentLanguage() . "\n";
- echo "Test translation: " . $translation->translate('nav_home') . "\n";
- echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
- echo "=== All Tests Completed ===\n";
- echo "Language switching is working correctly!\n";
- ?>
|