Vill göra min hemsida på två språk så användare kan växla mellan svenska och engelska, och använda cookies som lagrar vad användaren har valt.
Problemet är att jag redan lagrar en cookie som kommer ihåg vilken css(färgtema) avändaren har valt... så kan man uppdatera cookien så den lagrar både färgtemat och språket?
Eller finns det ett annat smidigare/enklare sätt att låta användaren välja språk?
Scriptet som sätter färgtema-cookien ser ut så här: styleswitcher.js
där $_GET['lang'] är kanske en eller sv. Sen kan du kolla mot cookien och om den är inställd på sv så väljer den en svensk språkfil och om det är en så väljer den en engelsk språkfil.
Du kan lägga in flera värden .. t.ex separera dom med en pipe och sen köra explode på cookien
Det går, men varför krångla till det så!? Kör på två cookies istället, användaren kommer säkerligen inte klaga :) CSS-scriptet döper sin cookie till "style" så du kan väl döpa språkcookien till "language" eller något annat lämpligt.
// om ett värde för getten lang anges så skapas en cookie med värdet.
if ($_GET['lang']) {
setcookie('lang', $_GET['lang'], (time()+2592000), '/', '', 0);
}
// om ett värde för cookien lang finns så sätts variablen $lang till det, annars är standard sv.
if ($_COOKIE['lang']) {
$lang = $_COOKIE['lang'];
} else {
$lang = "sv";
}
/*
alla språkfiler finns i en mapp med ett namn t.ex lang_sv.php
om filen existerar så includas språkfilen annars säger sidan att filen saknas.
*/
$langfile = "languages/lang_" . $lang . ".php";
if (file_exists($langfile)) {
include $langfile;
} else {
echo "language file missing!";
exit;
}
i lang_<prefix>.php så definerar man arrays etcetera.
t.ex
$_LANG['YES'] = "Ja";
$_LANG['NO'] ="No";
När den includeras så ersätts alla $_LANG['YES'] och $_LANG['NO'] på sidan.
OBS! Det här fungerar bara på statisk text.
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e