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


Dynamically switch content in website based on user language selection

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

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

我希望这是有道理的。我对php和javascript非常熟悉,如果有指导的话,我可能会使用它们来完成这项工作。谢谢你的帮助。

这里有一种方法。。

创建一个名为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>