根据用户语言选择动态切换网站内容

时间:2013-08-31 12:54:33

标签: php html multilingual

我正在设计一个需要两种语言的小型简单网站。我想保持简单。我想在代码中使用占位符/变量,这些代码将具有用户可见的文本。然后,允许用户选择他选择的语言(使用简单的链接),并使整个站点的文本切换到该语言。我更喜欢类似于语言文件的东西,其中当用户选择他的语言时,简单地切换代码中的值。下面是一个小例子来说明我所说的内容。

<div class='title'>
  [$siteTitleGoesHere]
</div>

我希望这是有道理的。我对php和javascript非常熟悉,如果给出指示,我可以使用它们来做这件事。谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

这是一种方法..

创建名为lang

的文件夹

在此文件夹中创建语言文件,例如en.phpfr.php

这些文件包含一个名为$lang的数组,其中包含您网站的所有可交换文本。

例如在en.php

$lang['header'] = 'Welcome to my site!';

并在fr.php

$lang['header'] = 'Bonjour!'; // my french is awesome

然后,您可以根据(例如)会话值

加载正确的文件
session_start();
if ( ! isset($_SESSION['lang'])) $_SESSION['lang'] = 'en';
require ("lang/{$_SESSION['lang']}.php");

echo $lang['header'];

如果你想改变语言,你可以做这样的事情

在你的php中,你需要将会话lang值切换为新语言

if (isset($_GET['lang']))
{
    $_SESSION['lang'] = $_GET['lang'];
    header("Location: {$_SERVER['PHP_SELF']}");
    exit;
}

你会使用像这样的链接

<a href="<?php echo $_SERVER['PHP_SELF']; ?>?lang=fr">French Language</a>