Php 基于用户语言选择动态切换网站内容
我正在设计一个小,简单的网站,将需要两种语言。我想让事情保持简单。我想在代码中使用占位符/变量,这些占位符/变量将具有用户可见的文本。然后,允许用户选择他选择的语言(使用一个简单的链接),并使整个站点的文本切换到该语言。我更喜欢类似于语言文件的东西,在这个文件中,当用户选择他的语言时,代码中的值只是简单地切换。下面是一个小例子来说明我指的是什么Php 基于用户语言选择动态切换网站内容,php,html,multilingual,Php,Html,Multilingual,我正在设计一个小,简单的网站,将需要两种语言。我想让事情保持简单。我想在代码中使用占位符/变量,这些占位符/变量将具有用户可见的文本。然后,允许用户选择他选择的语言(使用一个简单的链接),并使整个站点的文本切换到该语言。我更喜欢类似于语言文件的东西,在这个文件中,当用户选择他的语言时,代码中的值只是简单地切换。下面是一个小例子来说明我指的是什么 <div class='title'> [$siteTitleGoesHere] </div> [$siteTilego
<div class='title'>
[$siteTitleGoesHere]
</div>
[$siteTilegoesere]
我希望这是有道理的。我对php和javascript非常熟悉,如果有指示的话,我可能会使用它们来实现这一点。谢谢您的帮助。这里有一种方法
创建一个名为lang
在这个文件夹中创建语言文件,比如en.php
和fr.php
$lang['header'] = 'Welcome to my site!';
$lang['header'] = 'Bonjour!'; // my french is awesome
这些文件包含一个名为$lang
的数组,其中包含站点的所有可交换文本
例如在en.php
$lang['header'] = 'Welcome to my site!';
$lang['header'] = 'Bonjour!'; // my french is awesome
在fr.php
$lang['header'] = 'Welcome to my site!';
$lang['header'] = 'Bonjour!'; // my french is awesome
然后可以基于(例如)会话值加载正确的文件
session_start();
if ( ! isset($_SESSION['lang'])) $_SESSION['lang'] = 'en';
require ("lang/{$_SESSION['lang']}.php");
echo $lang['header'];
如果你想改变语言,你可以这样做
<a href="<?php echo $_SERVER['PHP_SELF']; ?>?lang=fr">French Language</a>
在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>
看一下Ok,谢谢。如何使用链接切换语言?让我在我的回答中添加一个这样的例子。你能告诉我以if(isset($\u GET['lang'))
开头的代码块在代码中的位置吗?我在那里感到困惑。在第一点之后:)哦,天哪!很漂亮。完全符合我的要求。我还有很多东西要学。谢谢你的帮助。