Last 15 Snips show! Welcome to Snipped, a code gallery for creating, saving and sharing all kinds of code snippets.

PHP Mehrsprachigkeit Multilanguage Pages Function

PHP · April 29, 2016 10:07 pm

0 1 468

Funktion um Mehrsprachige Webseiten zu erstellen. Übersetzungen werden in lang/de.json oder lang/en.json usw gespeichert. 
Anstatt fix den Text im Quellcode zu hinterlegen verwenden wir hier die Funktion um den Text in der  passende Sprache auszugeben.


########## de.json ##########
{
"Index": {
"Metatitel": "AKV Time Tracking",
"Metadescription": "keine",
"Dashboard": "Dashboard"
},

"Sitetitel": {
"Fahrer": "Fahrer",
"Runden": "Runden",
"Statistik": "Fahrer Statistik",
"Live":"Live"
}
}

########## Hier die eigentliche Funktion ##########
<?php
/* Funktion um Uebersetzungen zu ermoeglichen
* Sprachdatein liegen in /lang/de.json # en.json usw
* Funktionsaufruf:
* echo (lang("Actions","News"));
* @Actions ist der Bereich und @New das Element
*/
function lang($bereich,$text) {
$language = $_SESSION['lang'];
$data = file_get_contents("lang/".$language . ".json");
$lang = json_decode($data);
$tmp = $lang->$bereich->$text;
if ($tmp){
return $tmp;
}else{
return "Uebersetzung fehlt: $bereich -> $text";
}
}
?>
########## Funktion aufrufen ##########
$_SESSION['lang'] = 'de'; // Sprache setzen für die Funktion
// Die Sprache könnte man vorher auch Abfragen und in die Session speichern.

echo (lang("Index","Metatitel")); // Ergebnis = AKV Time Tracking
echo (lang("Sitetitel","Fahrer")); // Ergebnis = Fahrer

Discuss this Snip
  • Chris 3 years ago
    Profile Avatar

    session_start(); muss ganz am Anfang der PHP Datei stehen, ansonsten kann man sich der Session nicht bedienen.


  • You must be Signed In to discuss this Snip
Chris

Chris

Joined on
April 28, 2016

  • 22 Snips
    Contributed
  • 19 Likes
    Given
  • 8 Comments Posted
Snip Tags
Get Social And Share

Manage and share all of your code snippets in one easy place.