- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sito multilingue
-
Sito multilingue
Ciao a tutti,
sto preparando un piccolo sito (appena 6 pagine) che vorrei proporre in diverse lingue.
Proprio perchè i contenuti sono pochi ho creato una cartella language nella quale ho preparato un file php per ogni lingua (italian.php, french.php, english.php) nel quale ho inserito le definizioni delle variabili che ho usato per "riempire" le varie pagine.Sto cercando un modo per modificare la stringa:
[php]<?
require_once('language/italian.php');?>[/php]che ho messo in header.php che viene incluso in ogni pagina.
Qualcuno ha qualche idea?
Ho provato a fare come suggerito qui per cambiare CSS (http://atomsurfer.altervista.org/xhtml_e_css/cambiare_css_php.php) ma non funziona (forse perchè il quel caso si tratta di una stringa html e io devo modificare una stringa php?).Grazie
-
Ciao tarantallegra,
potresti fare così:
[php]
<?
if(file_exists("'./language/'.$_GET[lang].'.php'")){
require_once("'./language/'.$_GET[lang].'.php'");
}else{
die ("la lingua scelta non esiste");
}
?>[/php]Poi puoi richiamare le varie lingue aggiungendo ?lang=lingua all'indirizzo...
per esempio:www.sito.it/pagina.php?lang=french
va a richiamare ./language/french.php
Ciao!
-
Ciao,
oppure così$lang_user = (substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));
if ($lang_user == "it") {
include("$sito/lingua/it/lingua.sito");
} else {
include("$sito/lingua/en/lingua.en.php");
}
-
Grazie ragazzi per l'aiuto! Alla fine ci sono riuscita usando un cookie e facendo qualcosa di simile a quello che mi ha suggerito probid. Metto qui il codice in caso qualcuno ne avesse bisogno:
Ho fatto una pagina (setlanguage.php) per impostare un cookie:
[PHP]
<?
$lang = $_GET['set'];
$referer = $_SERVER['HTTP_REFERER'];
header("Location: $referer");
setcookie("language", $lang, time()+43200, '/');
header("Location: $referer");
?>
[/PHP]e nell'header (che viene inclusa in ogni pagina) ho messo questo codice:
[PHP]
<?
$LANG=$_COOKIE['language'];
$lingua= "language/$LANG.php";
$default= "language/english.php";
if(!$LANG){
require_once "$default";
}else{
require_once "$lingua";
}
?>
[/PHP]Ho messo poi delle bandierine con link a http://miosito.it/setlanguage.php?set=italian ecc...
Così funziona perfettamente!Grazie a tutti e buon lavoro!
Chiara
-
Bene tarantallegra,
grazie per aver postato la tua soluzione
Ciao!