2013-12-06 4 views
-3

Я хочу сделать свой сайт на 3-х языках. Я сделал простую систему для языка изменений.Простая многоязычная система страниц

PAGE

//define default lang 
<div id="sitelanguage"><?php include "lang/pl.php"; ?></div> 

// example of using lang 
<li class="menu_glowne"><?php echo $text["menu_naszemarki"]; ?></li> 

Язык файла (пример pl.php)

<?php 
$text["menu_manifest"] = "MANIFEST"; 
$text["menu_naszemarki"] = "NASZE MARKI"; 
$text["menu_wspolpraca"] = "WSPÓŁPRACA"; 
$text["menu_kontakt"] = "KONTAKT"; 

?> 

И простой код JQuery, который изменит язык файле En.php

$('#langen').click(function() { 

$('#sitelanguage').html('<?php include "lang/en.php"; ?>'); 
location.reload(); 

}); 

И теперь, его время для вопроса. Почему это не работает? ;)

ответ

0

PHP выполняется на сервере, javascript выполняется на клиенте, поэтому вам нужно сделать сервер сайта на стороне сайта, например, установив файл cookie, если пользователь выбирает другой язык, кроме значения по умолчанию. Кроме того, всегда используйте английский как базовый язык.

<a href="?lang=english">English</a> <a href="?lang=polish">Polish</a> <a href="?lang=danish">Danish</a> 

Затем включите "lang.php" во всех ваших файлов и имеют lang.php содержать что-то вроде

if(!empty($_GET['language'])) 
{ 
    $language = $_GET['language'] 
    setcookie("language", $language, time()+3600*24*365); 
} else 
{ 
    $language = (empty($_COOKIE['language']))?'english':$_COOKIE['language']; 
} 

switch($language) 
{ 
    case "english": 
    include "language/english.php"; 
    break; 
    case "polish": 
    include "language/polish.php"; 
    break; 
    case "danish": 
    include "language/danish.php"; 
    break; 
} 
Смежные вопросы