- Home
- Categorie
- Coding e Sistemistica
- PHP
- sito multilingua come farlo?
-
sito multilingua come farlo?
se volessi convertire il mio sito in un altra lingua come posso fare?
pensavo potrei inserire tutte le parti scritte sul db e selezionare in questo modo la parte della lingua che sto usando..
vi sembra un metodo furbo?
quali altri metodi si possono utilizzare?
in modo che sia facile anche tradurre in altri lingue.. ad esempio vorrei fare una pagina con inserimento nuove traduzioni ect..
Grazie per qualunque consiglio.
-
una pagina un'array :D...ti ho detto tutto
-
"array", dovrebbe essere maschile..."un" va senza apostrofo:41:
-
piccolo errore di scrittura...
-
Capita
-
tante risposte e niente di utile..mah..
-
Vabbè, si faceva per parlare...
Comunque, per tornare al tuo problema, un sito multilingua puoi farlo in diversi modi.Il primo che mi viene in mente è un array (come suggerito dal buon SuperSavio) con i contenuti in varie lingue, un indice con valore "it" per l'italiano, "en" per l'inglese e "fr" per il francese, quindi passi alle pagine la variabile lingua come vuoi e via.
Per farti un esempio:
La pagina in questione stampa
<?php echo $array_contenuti[$lingua]['testo_da_stampare']; ?>
e chiami la pagina con l'url fatto così:
www.paginamultilingua.it/index.html?lingua=it
se lo vuoi in italiano, sennò:www.paginamultilingua.it/index.html?lingua=en
se lo vuoi in inglesee così via.
-
scusate la mia ignoranza..ma il codice da voi postato dove lo metto???nel <head> di tutte le pagine==???
-
E' codice PHP.
Va messo dove vuoi che sia stampato il testo che appare in lingua.
-
allora funziona così...crei una cartella language al suo interno crei un file chiamato ita.php e all'interno crei l'array
[php]
<?php
$WORDS = array("MAPPA" => "Mappa",
"CONTATTI" => "Contatti",
"LAVORACONNOI" => "Lavora con noi",
"REQUISITIMINIMI" => "Requisiti Minimi",
"VERSIONE" => "Versione");
?>
[/php]poi crei un'altra pagina chiamata eng.php
[php]
$WORDS = array("MAPPA" => "Map",
"CONTATTI" => "Contacts",
"LAVORACONNOI" => "It works with We",
"REQUISITIMINIMI" => "Requirement Minimums",
"VERSIONE" => "Version");
[/php]poi nelle pagine o nelle pagine ( dipende come strutturi il sito ) del tuo sito metti all'inizio del HTML questo codice..
[php]
// Inizia sessione, usato per la lingua
session_start();// Per Cambiare la lingua
if(isset($_GET['lingua'])){
$_SESSION["lingua"] = $_GET["lingua"];// Redirect
header("Location: {".$_SERVER["HTTP_REFERER"]."}");
}// Se non è selezionata la lingua la imposta
if(!isset($_SESSION["lingua"])){
$_SESSION["lingua"] = "ITA";}
include('language/'.$_SESSION["lingua"].'php');
[/php]poi nelle parti delle pagina dove devi far stampare il testo metti
[php]
echo $WORDS['MAPPA'];
[/php]ecc
poi per cambiare lingua fai un collegamento del tipo
index.php?lingua=ita // per italiano
index.php?lingua=eng // per inglesecosì hai il tuo sito multilingua
-
come posso condividere l'array in tutti i file del mio progetto?
-
In ogni pagine del tuo sito fai un include del file dove crei/definisci l'array.
-
riesumo questa discussione per una domandina: l'indicizzazione del sito ha dei problemi utilizzando questa struttura?
Michele
-
Direi di no.
Per sicurezza setti il parametro $lingua all'inizio di ogni pagina in base alla lingua per cui è predisposta, cosi' eviti di passare url come
www.miositomultilingua.it/pagina.html?lingua=enSe poi li gestisci le lingue a sottocartelle in modo da passare url come
www.miositomultilingua.it/en/pagina.html
dovresti essere a posto.(comunque credo non ci sia problema neanche utilizzando la soluzione con il parametro $lingua passato nell'url)
-
[so che non è il posto giusto, ma è forse il più adatto:]
da quando ho modificato con l'array le pagine, nel div centrale della pagina mi compaiono, solo con firefox, dei trattini orizzontali così:
[ATTACH]1030[/ATTACH]
non è un problema del css, perchè nella "vecchia edizione" del sito (tradizionale) non avevo nessun problema.
Nell'html non compaiono, e se c'è un box o un'immagine questi trattini rimangono nascosti dietro a questi.
Tra la vecchia versione e la nuova è cambiato solo questo...Aggiungo: lo sfondo è formato da rettangoli alti 10px, e la distanza tra le barrette sembra essere quella.
Però non capisco come mai nella vecchia versione non ci fossero problemi...Avete mica qualche idea?
Michele
-
Può darsi che sia un bug riconosciuto (tipo peek-a boo di IE6) di firefox che non conosco, ma se così non fosse l'unica cosa che mi viene da dirti è: verifica l'output html.
A me, per esempio, è capitato con un sito che un errore (nel mio caso un div non chiuso) mi incasinasse la visualizzazione con firefox, mentre con IE continuava a vedersi correttamente.
-
improvvisamente, stamattina non ci sono più errori.:x
Bah.... :bho:grazie
Michele
-
@tykos said:
improvvisamente, stamattina non ci sono più errori.:x
Bah.... :bho:Mistero della fede...:?
-
grande mistero...dopo un po' che la pagina rimane caricata nel browser, compaiono i trattini.
L'unico modo per farli scomparire è chiudere il programma e riaprire.
I div sono tutti al loro posto, di aperti non ce ne sono.
Aggiungo, la pagina è w3c-approvedRi-Bah...
Michele