Forum > Övriga serverspråk > PHP
Hej!
Finns det någon funktion som gör att man kan byta språk från t ex engelska till svenska med hjälp av klicka på en länk där det står typ "Svenska"?
Fungerar det med str_replace? Om inte hur ska man göra?
Tacksam för svar
skapa en fil som heter swe.php och lägg in all översättning i en array.
Finns andra sätt att översätta också, men detta är nog det enklaste sättet.
Exempel på ur det kan se ut i en sådan fil.
$lang['title'] = 'Titel';
$lang['name'] = 'Namn';
Jag använde samma teknik som Christer beskrev och tycker det funkar prima, byter sedan språk-fil med cookies.
Jag brukar använda liknande metod, men däremot använder jag databasen för att lagra informationen. D.v.s:
tbl_language
----------------
_id _name
1 Svenska
2 English
tbl_translation
----------------
_id _languageid _section _text
1 1 form Användarnamn
2 1 form Lösenord
3 2 form Username
4 2 form Password
SELECT _name
FROM tbl_translation
WHERE _section = 'form' AND _languageid = 1
SELECT tra._name
FROM tbl_translation AS tra
JOIN tbl_language AS lng ON lng._id = tra._languageid
WHERE tra._section = 'form' AND tra._languageid = 1
något sådant:
index.php?lang=sv
index.php?lang=en
och så gör du om det till en variabel (och t ex en cookie):
// sätt ett default-språk:
$lang = 'sv';
// finns det en kaka? sätt i så fall $lang:
if($_COOKIE['lang']) $lang = $_COOKIE['lang'];
// har fråga efter ett språk gjorts nu? sätt i så fall $lang:
if($_GET['lang']) $lang = $_GET['lang'];
// saknas kaka eller har språket ändrats? spara i så fall kaka:
if(!$_COOKIE['lang'] or $_COOKIE['lang'] != $lang) setcookie('lang',$lang);
Shadis sätt låter smart tycker jag. Men Wordpress har ju tex språkkfiler som innehåller tex svenska språket i en specifik fil för svenska.
Du kanske kan undersöka hur Wordpress löser det och använda den metoden? Går nog att Googla fram hur dom gör.
CakePHP som jag använder mycket, har också som WordPress så kallade .po filer, som man
ser ut så här.
msgid "Welcome"
msgstr "Välkommen"