如何在php中编写多语言代码?

发布于 2024-11-27 00:53:26 字数 1562 浏览 1 评论 0原文

我尝试了这段代码,但无法执行它。你能帮我吗?

///////////////////////////////
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 !');  

?>

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 !');  

?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

友谊不毕业 2024-12-04 00:53:26

$_get 应该是 $_GET

并且您的决定语言条件可能更简单:

if (@$_GET['lang'] == 'en') include('en-lang.php');
else include('fr-lang.php'); 

如果您愿意,您还应该考虑使用基于 $_GET 的会话变量。

这有点啰嗦,但可能是一个更好的方法:

//////////////////////////////
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');

?>

$_get should be $_GET

And your decide lang condition could be simpler:

if (@$_GET['lang'] == 'en') include('en-lang.php');
else include('fr-lang.php'); 

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');

?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文