|
|
@@ -0,0 +1,54 @@
|
|
|
+<?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";
|
|
|
+?>
|