如何在php中编写多语言代码? [英] How to write code for multilingual in php?
本文介绍了如何在php中编写多语言代码?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试了此代码,但无法执行.你能帮我吗?
I tried this code but can not able to execute it. Can you help me with it?
///////////////////////////////
index.php
//////////////////////////////
<?php
require("decide-lang.php");
?>
<html><title>Exercice </title>
<body>
<?php echo TXT_INDEX; ?>
<p><br>
News: <?php echo TXT_NEWS; ?> <br>
Conseil du jour: <?php echo TXT_CONSEIL_INDEX ; ?> </p>
<p> </p>
<p><a href="index.php?lang=en">Not french??</a></p>
</body>
</html>
//////////////////////////////
decide-lang.php
//////////////////////////////
<?php
if ($_get['lang']=='fr') { // si la langue est 'fr' (français) on inclut le fichier fr-lang.php
include('fr-lang.php');
}
else if ($_get['lang']=='en') { // si la langue est 'en' (anglais) on inclut le fichier en-lang.php
include('en-lang.php');
}
else { // si aucune langue n'est déclarée on inclut le fichier fr-lang.php par défaut
include('fr-lang.php');
}
?>
//////////////////////////////
en-lang.php
/////////////////////////////
<?php
define('TXT_INDEX', 'Welcome on YOu_Site.com!');
define('TXT_NEWS', 'The sun is shining !');
define('TXT_CONSEIL_INDEX', 'Lets do some PHP !');
?>
//////////////////////////////
fr-lang.php
/////////////////////////////
<?php
define('TXT_INDEX', 'Bienvenue sur votre_site.com !');
define('TXT_NEWS', 'Il fait un soleil radieux !');
define('TXT_CONSEIL_INDEX', 'Faites du PHP !');
?>
推荐答案
$ _ get应该是$ _GET
$_get should be $_GET
您决定的lang条件可能更简单:
And your decide lang condition could be simpler:
if (@$_GET['lang'] == 'en') include('en-lang.php');
else include('fr-lang.php');
如果您愿意,还应该考虑根据$ _GETs使用会话变量.
You should also consider using session vars, based on $_GETs if you like.
这有点麻烦,但可能是一种更好的方法:
This is a little long winded but might be a slightly better approach:
//////////////////////////////
decide-lang.php
//////////////////////////////
<?php
session_start();
if (isset($_SESSION['lang'])) $lang = $_SESSION['lang'];
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
$_SESSION['lang'] = $lang;
}
if (!isset($lang)) $lang = 'fr';
$langfile = $lang . '-lang.php';
if (file_exists($langfile)) include ($langfile);
else include('fr-lang.php');
?>
这篇关于如何在php中编写多语言代码?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文