多语言PHP脚本

Luk*_*tes 2 php multilingual

现在我有如何在html/php脚本中创建多语言主菜单

<li>
<a href="{url p='poceni-letalske-karte.html'}">
<span>{t t="Letalske Karte"}</span>
</a>
</li>
Run Code Online (Sandbox Code Playgroud)

<option value='EN'>English</option>mysite.com/EN 当用户选择英语EN代码时,我想要它还改变主菜单文本怎么做?这是Letalske karte网站

我发现这个脚本http://www.bitrepository.com/php-how-to-add-multi-language-support-to-a-website.html 但我不知道如何设置为/ EN /现在在此脚本中设置为index.php?lang=en

Dav*_*ave 21

我的方法是做以下事情:

第1步:设置如下文件夹树结构:

Languages
 -en
   -lang.en.php
 -fr
   -lang.fr.php
 -de
   -lang.de.php
Run Code Online (Sandbox Code Playgroud)

继续使用您想要支持的所有其他语言制作新文件夹

第2步:创建我们的语言文件,我将开始 languages/en/lang.en.php

<?php   
  $lang['label']      = 'Value for this label';
  $lang['firstname']  = 'First Name';
  $lang['lastname']   = 'Last Name';
  $lang['phone']      = 'Phone';       
  // ETC
?>
Run Code Online (Sandbox Code Playgroud)

你会为其他所有语言重复一遍,例如,生病了languages/fr/lang.fr.php.注意标签在英语中是如何保持不变的

<?php   
  $lang['label']      = 'Valeur pour ce label';
  $lang['firstname']  = 'Prénom';
  $lang['lastname']   = 'Nom de famille';
  $lang['phone']      = 'Téléphone';       
  // ETC
?>
Run Code Online (Sandbox Code Playgroud)

第3步:通过url变量检查用户是否已请求语言更改

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

?>
Run Code Online (Sandbox Code Playgroud)

第4步:您可以像这样访问您的语言部分,它会根据加载的语言文件而改变.

<?php
  echo $lang['firstname'];
?>
Run Code Online (Sandbox Code Playgroud)

希望这有助于您开始作为一个想法