Den umiddelbart smarteste løsning er som det blev foreslået ovenfor, at erstatte alle teksterne i dit script med en variabel, fx
echo $din_ip
. Det betyder desværre en ordentlig røvfuld variable...
...men ideen er så, at hver enkelt sprogs udgave af disse tekster/varible er defineret i hver deres sprog-fil (language.en.php) som tilsammen udgør en komplet sprogpakke. Fremgangsmåden er så, at man i starten af scriptet kontrollerer hvilken sprog brugeren ønsker, fx. via. GET, og så inkluderer den relavante sprog-fil.
Alternativet med at bruge MySQL er kun en god ide, hvis der er tale om få længere tekster, idet database-opslag ikke alene optager ressourcer, men det tager også en frygtelig mængde tid at hente en masse små tekster, også selvom de kan hentes med et query så tager det meget tid og kode at pille fra hinanden.
*** EKSEMPEL ***
Sprog-fil : language.da.php
<?PHP
//Text: your IP
$your_ip = "din IP";
//Text: your name
$your_name = "dit navn";
//Text: Life is too short for ASP
$the_truth = "Livet er for kort til ASP";
?>
PHP-Script : scriptet.php
<?PHP
//Check is $lang is a supported language
function isValid($lang){}
//Check language, default DA
$lan = (!empty($_GET["lan"]) && isValid($_GET["lan"]))? $_GET["lan"] : "da";
//Load language module
include("language." . $lan . ".php");
// START OF SCRIPT
...
echo $your_ip . " : " . $REMOTE_ADDR;
...
?>
Ovenstående script benytter GET til at bestemme sproget, men du kan også bruge POST, COOKIE eller SESSION.
DET er dog meget VIGTIGT, at du sætter dig ned og definerer alle tænkelige variable/tekster på forhånd, idet det er et stort arbejde at tilføje eller rette tekster/variable på et senere tidspunkt, da det kræver at du ændrer i hele sprogpakken. Alle variable skal være veldefinerede på forhånd.