39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
session_start();
|
|
|
|
// Supported languages
|
|
$supported_langs = ['en', 'ar', 'fr'];
|
|
$default_lang = 'ar';
|
|
|
|
// Get language from query string or session
|
|
$lang_code = isset($_GET['lang']) && in_array($_GET['lang'], $supported_langs) ? $_GET['lang'] : ($default_lang);
|
|
|
|
// Store in session
|
|
if (isset($_GET['lang']) && in_array($_GET['lang'], $supported_langs)) {
|
|
$_SESSION['lang'] = $_GET['lang'];
|
|
}
|
|
|
|
// Set current language from session or default
|
|
$current_lang = isset($_SESSION['lang']) && in_array($_SESSION['lang'], $supported_langs) ? $_SESSION['lang'] : $default_lang;
|
|
|
|
// Load language file
|
|
$lang_file = __DIR__ . '/lang/' . $current_lang . '.php';
|
|
if (file_exists($lang_file)) {
|
|
require_once $lang_file;
|
|
} else {
|
|
// Fallback to default language if file not found
|
|
require_once __DIR__ . '/lang/' . $default_lang . '.php';
|
|
}
|
|
|
|
// Translation function
|
|
function t($key) {
|
|
global $lang;
|
|
return $lang[$key] ?? $key;
|
|
}
|
|
|
|
// Function to get current language direction (for CSS)
|
|
function get_lang_dir() {
|
|
global $current_lang;
|
|
return ($current_lang === 'ar') ? 'rtl' : 'ltr';
|
|
}
|
|
?>
|