test_language.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. // Start session
  3. session_start();
  4. require_once 'includes/config.php';
  5. require_once 'includes/translation.php';
  6. // Simulate different scenarios
  7. echo "=== Testing Language Switching ===\n\n";
  8. // Test 1: Default language (no session, no GET param)
  9. $_SESSION = array(); // Clear session
  10. $_GET = array(); // Clear GET params
  11. $translation = Translation::getInstance();
  12. echo "Test 1 - Default: " . $translation->getCurrentLanguage() . "\n";
  13. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
  14. // Test 2: Language parameter in URL
  15. $_GET['lang'] = 'fi';
  16. $translation = Translation::getInstance(); // Fresh instance
  17. echo "Test 2 - With GET lang=fi: " . $translation->getCurrentLanguage() . "\n";
  18. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
  19. // Test 3: Session persistence
  20. $_GET = array(); // Clear GET params
  21. $translation = Translation::getInstance(); // Fresh instance
  22. echo "Test 3 - Session persistence: " . $translation->getCurrentLanguage() . "\n";
  23. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n\n";
  24. // Test 4: Test translation
  25. echo "Test 4 - Translation test:\n";
  26. echo "English 'nav_home': " . $translation->translate('nav_home') . "\n";
  27. echo "Finnish 'nav_home': " . $translation->translate('nav_home') . "\n\n";
  28. // Test 5: Language switcher
  29. echo "Test 5 - Language switcher HTML:\n";
  30. echo $translation->getLanguageSwitcher('test.php') . "\n";
  31. ?>