多语言php脚本 [英] Multi language php script
问题描述
如何在html/php脚本中创建多语言主菜单 现在我有
How to create multi language main menu in html/php script now i have
<li>
<a href="{url p='poceni-letalske-karte.html'}">
<span>{t t="Letalske Karte"}</span>
</a>
</li>
和
<option value='EN'>English</option>
我想当用户选择英语EN代码时也会更改主菜单文本,该怎么做?
这是网站 Letalske karte
<option value='EN'>English</option>
which it go to mysite.com/EN
i want when user select English language EN code it also change main menu text how to do that ?
This is website Letalske karte
我找到了该脚本 http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html
但是我不知道如何设置为/EN/,因为现在此脚本中的设置为index.php?lang=en
I found this script http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html
But i don't know how to set to /EN/ as now in this script is set to index.php?lang=en
推荐答案
我的方法是执行以下操作:
My Approach would be to do the following:
第1步:设置像这样的文件夹树结构:
Step 1: Setup a folder tree structure like this:
Languages
-en
-lang.en.php
-fr
-lang.fr.php
-de
-lang.de.php
使用您要支持的所有其他语言继续制作新文件夹
第2步:创建我们的语言文件,我将以languages/en/lang.en.php
Step 2: Create our language files, i will start with languages/en/lang.en.php
<?php
$lang['label'] = 'Value for this label';
$lang['firstname'] = 'First Name';
$lang['lastname'] = 'Last Name';
$lang['phone'] = 'Phone';
// ETC
?>
您将对其他每种语言重复此操作,例如,languages/fr/lang.fr.php
.注意标签上的英文保持不变
you would repeat this for every other language, ill do fr for example languages/fr/lang.fr.php
. NOTE how the labels stay the same in english
<?php
$lang['label'] = 'Valeur pour ce label';
$lang['firstname'] = 'Prénom';
$lang['lastname'] = 'Nom de famille';
$lang['phone'] = 'Téléphone';
// ETC
?>
第3步:通过url变量检查用户是否已请求更改语言
Step 3: Check if the user has requested a language change, via a url variable
<?php
// Start a Session, You might start this somewhere else already.
session_start();
// What languages do we support
$available_langs = array('en','fr','de');
// Set our default language session
$_SESSION['lang'] = 'en';
if(isset($_GET['lang']) && $_GET['lang'] != ''){
// check if the language is one we support
if(in_array($_GET['lang'], $available_langs))
{
$_SESSION['lang'] = $_GET['lang']; // Set session
}
}
// Include active language
include('languages/'.$_SESSION['lang'].'/lang.'.$_SESSION['lang'].'.php');
?>
第4步:您可以像这样访问语言部分,并且该语言部分会根据加载的语言文件而有所不同.
Step 4: you can access your language parts like so and it would change based on what language file is loaded.
<?php
echo $lang['firstname'];
?>
希望这可以帮助您开始构想
hope this helps get you started as an idea
这篇关于多语言php脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!