Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27

Discussione: ?language=it

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216

    ?language=it

    come avete capito dal titolo ho un paio di problemi con il multilingua

    ve li elenco:
    -non carica la lingua predefinita
    -se sono nella pagina x.php?language=it e clicco su inglese taglia parte dell'ulr diventando ?language=en senza la pagina

    è stato creato attraverso 2 file text_it e text_en e una tabella language e attraverso una query per la select della lingua


    come posso risolvere????
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, se non ho capito male clicchi per cambiare lingua e passi alla pagina anche il parametro language.
    Se sei in un pagina qualsiasi il link col parametro in più è sbagliato perchè elimina il nome di pagina.
    Secondo me dovresti risolvere diversamente.
    Click sul link per cambiare lingua (es. language.php?l=IT )
    In questa pagina setti nella sessione la lingua selezionata e fai un redirect alla pagina dove ti trovati prima(che dovresti avere nel HTTP_REFERER ). A questo punto recuperando dalla sessione il valore settato caricherai i dati/file della lingua selezionata senza dover portarti in giro in GET il parametro della lingua

  3. #3
    Quote Originariamente inviata da rare Visualizza il messaggio
    -non carica la lingua predefinita
    Non hai fornito abbastanza informazioni per permetterci di rispondere a questa domanda. Se stai realizzando un sistema ad hoc (si capisce dalle righe successive) ti basta controllare il valore di language nell'array GET. Dopodiché hai bisogno di un sistema di link building per semplificarti un pochetto il passaggio delle variabili GET.
    Quote Originariamente inviata da rare Visualizza il messaggio
    -se sono nella pagina x.php?language=it e clicco su inglese taglia parte dell'ulr diventando ?language=en senza la pagina
    Prendo la mia sfera di cristallo: probabilmente hai fatto un link con la sola query string.
    Quote Originariamente inviata da rare Visualizza il messaggio
    è stato creato attraverso 2 file text_it e text_en e una tabella language e attraverso una query per la select della lingua
    Potresti anche utilizzare la funzione gettext, invece di reinventare la ruota.

    La prossima volta sarebbe più opportuno strutturare in questo modo:
    Salve, sto realizzando un sistema di internazionalizzazione che funziona in questo modo:
    - Ho due file [...]
    - Leggo da db [...]
    - Leggo linguaggio dalla query string o uso quello di default [...]
    - etc etc
    Ho i seguenti problemi:
    - I link per la traduzione non funzionano [...]
    - etc etc
    Magari supporta il messaggio con il pezzetto di codice incriminato... magari il link che vai a generare o il modo in cui leggi da GET
    Experience is what you get when you don’t get what you want

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    Xaratroom hai perfettamente ragione perdonami andavo di corsa...

    comunque tornando a noi:
    il problema del "cambio" di lingua l'ho risolto... avevo un "../" di troppo

    ora rimane il problema della lingua predefinita e del passaggio da una pagina ad un'altra
    pensavo di aver risolto in questo modo ma non è così:

    Codice PHP:
    if(isset($_GET["language"]))    define('LANG'$_GET["language"]); else{    $query=mysql_query("SELECT * FROM languages WHERE predefinita=1 AND nascosto=0 LIMIT 0,1");    $row=mysql_fetch_array($query);    define('LANG'$row['estensione']);}
    include(
    "../languages/text_".LANG.".php"); 
    che ne dite...

    per la lingua predefinita intendo la lingua che, non appena apro il sito dovrebbe risultare
    la tabella la prevede in questo modo

    languages
    id
    nome
    estensione
    predefinita (tipo tinyint)
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    ragazzi non riesco proprio a capire dove sbaglio mi date una mano per favore???

    forse non mi sono spiegato bene quindi riprovo
    i problemi sono 2
    - all'apertura del sito (supponiamo index.php) l'url dovrebbe contenere anche la lingua scelta (index.php?language=it), che nel caso si venga da una pagina diversa(esterna) dal sito dovrà essere la lingua predefinita. La predefinita è impostata all'interno del DB con un campo tinyint impostato a 1 (in questo caso all'italiano). Quindi il problema è che all'apertura del sito non "impone" la lingua predefinita.
    avevo pensato di risolvere con un if (che trovate al precedente post) ma purtroppo non và.

    - il secondo problema è legato al primo, o quanto meno all'if; in poche parole passando da una pagina ad un'altra, dovrei passare anche la variabile GET (quindi language) ma purtroppo questa variabile va persa e di conseguenza non carica i testi.

    non so se mi sono spiegato meglio, spero che mi diate una mano che sto veramente impazzendo
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Nel caso in cui hai una url nella pagina, setti "language" ?
    Se fai un print LANG cosa dà ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    non ho una variabile url, dovrei???
    non ti seguo...

    comunque stampado LANG se l'url ho solo index.php non stampa nulla se invece ho index.php?language=it stampa it
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    In index.php, non hai nessuna url ? Tipo www.miosito.it/index.php?language=it ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    ci avevo pensato però se faccio così poi quando ho language=en e clicco su index torna it. non credi???
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da rare Visualizza il messaggio
    non ho una variabile url, dovrei???
    non ti seguo...

    comunque stampado LANG se l'url ho solo index.php non stampa nulla se invece ho index.php?language=it stampa it
    Codice PHP:
    if(isset($_GET["language"]))  { 
      
    define('LANG'$_GET["language"]); 
    } else {      
      
    $query=mysql_query("SELECT * FROM languages WHERE predefinita=1 AND nascosto=0 LIMIT 0,1") or die(mysql_error());         
      
    $row=mysql_fetch_array($query);      
      
    define('LANG',$row['estensione']);
    }
    include(
    "../languages/text_".LANG.".php"); 
    Ultima modifica di badaze; 20-09-2014 a 09:57
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.