如何在php中编写多语言代码? [英] How to write code for multilingual in php?

查看:85
本文介绍了如何在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>&nbsp;</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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆