- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema sito multilingua in php
-
Problema sito multilingua in php
Salve a tutti, ho un problema particolare a cui non ho trovato soluzione nel web.
Nel mio dominio ho installato lo script SocialEngine (Community) e fin qui tutto ok.
La traduzione dall'inglese all'italiano l'ho fatta a mano e funziona la selezione della lingua in front-end e visualizza tutto correttamente.
Il problema ora è questo:
I file del sito sono riuscito a tradurli perchè li crea sul DB MySQL in fase di installazione quindi facilmente traducibili anche dall'admin dello script.
Il problema è che i plugin aggiuntivi come Foto, Musica, Video ecc. non creano i file di lingua sul DB ma in un file nella cartella /lang/
Ora, se apro ad esempio header_blog.php trovo la stringa include "./lang/lang_english_blog.php"; ma siccome ho creato il file tradotto in italiano che si trova in ./lang/lang_italiano_blog.php come faccio a dirgli di prendere quello italiano quando dal sito selezionano la lingua?
Attualmente rimane in inglese la pagina blog anche se seleziono l'italiano nel sito e se faccio l'include di entrambi i file ne carica sempre e solo uno.
Vi prego aiutatemi. Grazie.P.S. Se vi può aiutare questi sono gli url che crea selezionando una o l'altra lingua:
Inglese: ./user_blog.php?&lang_id=1
Italiano: ./user_blog.php?&lang_id=4
-
Se li includi entrambi motl oprobabilmente l'ultimo file inclus osovrascrive la variabili del primo, quindi dovresti fare uno switch per gli include
-
@Thedarkita said:
Se li includi entrambi motl oprobabilmente l'ultimo file inclus osovrascrive la variabili del primo, quindi dovresti fare uno switch per gli include
Potresti darmi una stringa di switch? Ne ho trovate alcune in giro ma erano valide se nella stessa pagina. Qui il problema è che gli devo dire che quando carica la lingua quando si seleziona l'Italiano che corrisponde alla pagina ./xXx.php?&lang_id=4
-
puoi fare cosi:
[php]
if($_GET['lang_id'] == 4)
include "./lang/lang_italiano_blog.php";
else
include "./lang/lang_english_blog.php";
[/php]
-
@Thedarkita said:
puoi fare cosi:
[php]
if($_GET['lang_id'] == 4)
include "./lang/lang_italiano_blog.php";
else
include "./lang/lang_english_blog.php";
[/php]Guarda, non so come ringraziarti, sei stati eccezionale.
Ho perso 4 giorni a trovare uno switch che funzionasse.
Il tuo funziona alla perfezione .
Davvero grazie mille ancora
-
figurati