PHP multi-language website parameter demo (content c=source, language lan=en)

Website navigator [ home page | page one | page 2 | Source ]
Select language [ english | deutsch | francais ]
Below you find the complete PHP source code of this multilingual website example.

--index.php--

<?
/* 
 PHP multi-language website parameter demo (c) Copyright (2015) by otolo.com
 otolo.com/test/index.php
 Last revised 18-May-2015
*/

$lan $_GET['lan'];
$c $_GET['c'];

function 
language ($lan$e$f$d){
// returns empty value if invalid $lan    
  
IF ($lan == "en"){
    RETURN 
$e;
  }ELSEIF (
$lan == "fr"){
    RETURN 
$f;
  }ELSEIF (
$lan == "de"){
    RETURN 
$d;
  }ELSE{
   RETURN 
"";
 }
// END language

$lan language($lan"en""fr""de"); // allow only 3 languages
IF ($lan == ""){
  
$lan "en"// default
}

function 
content ($c){
// returns empty value if invalid $c
  
IF ($c == "page1"){
    RETURN 
"page1";
  }ELSEIF (
$c == "page2"){
    RETURN 
"page2";
  }ELSEIF (
$c == "source"){
    RETURN 
"source";
  }ELSEIF (
$c == ""){
    RETURN 
"";
  }ELSE{
   RETURN 
"INVALID";
  }
// END content
 
$c content($c); // allow only 2 content parameters or home-page

function selected($param$which$text){
// bold text with coloured background if selected
  
IF ($param == $which){
    
$text "<b style=\"color:black;background-color:#ffff66\">$text</b>";
  }
  RETURN 
$text;
// END selected

// emit html-header with page title
$header=language($lan
  
"PHP multi-language website parameter demo"
  
"demo d´une page web multilingue en PHP avec parametres",
  
"Demo f&uuml;r eine mehrsprachige Website in PHP mit Parametern")
 .
" (content c=$c, language lan=$lan)";

echo 
"<!DOCTYPE html><html><head><title>$header</title>
<meta http-equiv='content-type' charset='UTF-8' name=description content='
$header'></head><body><p>
<h2>
$header</h2><p>";

$home language($lan"home page""page d'accueil""Eingangsseite");
$page1 language($lan"page one""page une""Seite eins");
$page2 language($lan"page 2""page 2""Seite 2");
$source language($lan"Source""source""Quellcode");

// start of page navigator
echo language($lan"Website navigator""Navigateur du site""Seitennavigator").
" [ <a href=\"?lan=$lan\">"         .selected($c""$home)."</a>
  | <a href=\"?c=page1&lan=
$lan\">" .selected($c"page1"$page1). "</a>
  | <a href=\"?c=page2&lan=
$lan\">" .selected($c"page2"$page2). "</a>";
IF (
$c == 'source'){ echo
" | <a href=\"?c=source&lan=$lan\">" .selected($c"source"$source). "</a>"; }
echo
" ]<br> \n";

// language selector
echo language($lan"Select language""Choisisez une langue""W&auml;hlen Sie eine Sprache").
" [ <a href=\"?c=$c&lan=en\">" .selected($lan"en""english"). "</a>
  | <a href=\"?c=
$c&lan=de\">" .selected($lan"de""deutsch"). "</a>
  | <a href=\"?c=
$c&lan=fr\">" .selected($lan"fr""francais"). "</a>
  ]<br> \n"
;
// end of page navigator and language selector

// start display page content
IF ($c == "page1"){
  include (
"page1.php");
  echo 
"<p> :)";
}ELSEIF (
$c == "page2"){
  include (
"page2.php");
  echo 
"<p> :))";
}ELSEIF (
$c == ""){
  echo 
language($lan,
    
"This is the PHP parameter demo home-page (index.php).
    Show me the complete <a href=\"?c=source&lan=
$lan\">PHP source code</a>.",
    
"C'est la page d'acceuil pour demonster la parametrisation en PHP (index.php).
    Montre moi la source enti&egrave;re <a href=\"?c=source&lan=
$lan\">la source PHP</a>.",
    
"Dies ist die Eingangseite des PHP-Parameter Demos (index.php).
    Zeige mir den kompletten <a href=\"?c=source&lan=
$lan\">PHP Quellcode</a>.")
   .
"<hr>"
   
.language($lan
    
"This program example brought to you by",
    
"Cet exemple de programme vous est pr&eacute;sent&eacute; par",
    
"Dieses Beispielprogram wird Ihnen bereitgestellt durch")
   .
" <a href=\"../webworx/?lang=$lan\">otolo.com</a><p>";
}ELSEIF (
$c == "source"){
  echo 
    
language($lan
    
"Below you find the complete PHP source code of this multilingual website example."
    
"Ci-dessous vous trouvez la source PHP enti&egrave;re de cet example multilingue de site web.",
    
"Unten finden Sie den kompletten PHP Quellcode dieses Beispiels einer mehrsprachigen Website.")
   .
'<h3>--index.php--</h3>'highlight_file('index.php'TRUE)
   .
'<h3>--page1.php--</h3>'highlight_file('page1.php'TRUE)
   .
'<h3>--page2.php--</h3>'highlight_file('page2.php'TRUE);
}ELSE{
  echo 
language($lan,
    
"Error in parameter c!",
    
"Parametre c &eacute;rron&eacute;!",
    
"Fehler im Parameter c!");
}
echo 
'</body></html>';
?>

--page1.php--

<?
echo "<p>---------------------------------------------<br>";

echo 
language ($lan,
  
"this is page one",
  
"c'est la page une",
  
"das ist die Seite eins"
" (page1.php)";

echo 
"<br>---------------------------------------------";
?>

--page2.php--

<?
echo "<hr>";

echo 
language ($lan,
  
"this is page 2.",
  
"c'est la page 2.",
  
"das ist Seite 2.")
" (page2.php)<p>";

$p1link "<a href=\"?c=page1&lan=$lan\">"
  
.language($lan"page 1""page 1""Seite 1")
  .
"</a>";

echo 
language ($lan,
  
"when we link to any internal page, e.g., $p1link
  we add the currently selected language parameter."
,
  
"pour tous liens interns, par example $p1link
  on y ajoute la langue actuellement selectionn&eacute;e comme parametre."
,
  
"Wenn wir auf interne Seite verweisen, z.B., $p1link
  f&uuml;gen wir die aktuell gewa&auml;hlte Sprache als Parameter hinzu."
);

echo 
"<hr>";
?>