test_direct_language.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. // Direct test of language switching without redirects
  3. session_start();
  4. echo "=== Direct Language Test ===\n\n";
  5. require_once 'includes/config.php';
  6. require_once 'includes/translation.php';
  7. // Clear everything first
  8. $_GET = array();
  9. $_SESSION = array();
  10. echo "Test 1 - Fresh start (should default to English):\n";
  11. $translation = Translation::getInstance();
  12. echo "Current language: " . $translation->getCurrentLanguage() . "\n";
  13. echo "Translation: " . $translation->translate('nav_home') . "\n\n";
  14. // Test 2 - Direct language setting
  15. echo "Test 2 - Direct language setting to Finnish:\n";
  16. $translation->setLanguage('fi');
  17. echo "Current language: " . $translation->getCurrentLanguage() . "\n";
  18. echo "Translation: " . $translation->translate('nav_home') . "\n";
  19. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
  20. // Test 3 - New instance with session
  21. echo "Test 3 - New Translation instance (should use session):\n";
  22. $translation2 = Translation::getInstance();
  23. echo "Current language: " . $translation2->getCurrentLanguage() . "\n";
  24. echo "Translation: " . $translation2->translate('nav_home') . "\n";
  25. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
  26. // Test 4 - Clear session and test URL parameter simulation
  27. $_SESSION = array();
  28. $_GET['lang'] = 'fi';
  29. echo "Test 4 - URL parameter simulation:\n";
  30. $translation3 = Translation::getInstance();
  31. echo "Current language: " . $translation3->getCurrentLanguage() . "\n";
  32. echo "Translation: " . $translation3->translate('nav_home') . "\n";
  33. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
  34. echo "=== Test Complete ===\n";
  35. ?>