简单的多语言页面系统


Simple multi-lingual page system

我想用3种语言制作我的网站。我做了一个简单的系统来改变语言。

页面

//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";
?>

以及将语言更改为en.php 的简单jQuery代码

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

现在,是提问的时候了。为什么这不起作用?)

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;
}