Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    primi passi php e mysql sito multilingua

    Ciao a tutti,
    ho letto diversi post riguardanti i siti in multilingua e gestione delle informazioni in un db come mysql.

    Vorrei chiarirmi alcuni aspetti e sarei lieto se mi consigliaste anche delle letture per comprendere meglio il problema.

    da quello che finora ho letto si può riassumere in (anche questo spunto è stato preso da un altro post):

    Creare una tabella

    TblProdotti: campi (IDProdotti, IDLingua, Descrizione, AltImmagine, url...) IDLingua si autoincrementa
    1 1 il prodotto è composto da.... alt dell'immagine ../images/pluto.gif
    1 2 il prodotto è composto da.... alt dell'immagine ../images/pluto.gif [in inglese]

    TblLingua: campi (IDLingua, Lingua)
    1 italiano
    2 inglese

    quindi nel caso in cui si scelga la lingua italiano = 1 verrà selezionato il record 1 nel caso sia inglese il record 2.
    Dall'articolo mi sembra di capire che i riferimenti alle immagini o a testo che non cambia nelle diverse lingue potrebbe essere gestito in un'ulteriore tabella al fine di non duplicare informazioni.

    così sarebbe corretto?
    se così fosse inizio a studiare... :-)

    Grazie a chiunque sia disposto a svelarmi modi e sistemi per sviluppare tutto ciò!
    Tz

  2. #2
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    forse ti converrebbe fare:
    IDProdotti, Descrizionelingua1, Descrizionelingua2, Descrizionelingua3, AltImmagine, url
    in modo che hai sempre lo stesso ID ma carichi a seconda della lingua scelta il campo di descrizione corretto..

  3. #3
    Grazie ora ho un punto di partenza!

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    ..mi sa che hai solo il mio punto di vista..
    però credo sia logico.. magari qualcuno mi conferma o mi sconfessa..


  5. #5
    e io son qui a capire come iniziare a "costruire" correttamente stò db... :-) ho visto tabelle analoghe a quelle che mi hai descritto, quindi il tuo punto di vista per me può andar bene si tratta di capire come sia più opportuno e come poter richiamare le lingue diverse poi nelle pagine... della serie ho chiesto poco :-)

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Originariamente inviato da telegio
    forse ti converrebbe fare:
    IDProdotti, Descrizionelingua1, Descrizionelingua2, Descrizionelingua3, AltImmagine, url
    in modo che hai sempre lo stesso ID ma carichi a seconda della lingua scelta il campo di descrizione corretto..
    questo però ti obbliga, in case di lingue in più, a dover modificare la tabella e relative query..
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    credo ti devi portare come parametro passato in GET la lingua, una url tipo:
    pagina.php?lingua=it
    pagina.php?lingua=en

    nella pagina devi fare degli if:
    Codice PHP:
    $lingua $_GET['lingua'];
    if (
    $lingua == 'it') {
    echo 
    $Descrizionelingua1//oppure $Descrizionelinguait decidi come chiamarlo..
    } elseif ($lingua == 'en') {
    echo 
    $Descrizionelinguaen// oppure $Descrizionelinguaen..

    e così via.. ovviamente a questo parametro dovrai aggiungere quello dell'ID del tuo prodotto..

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    Originariamente inviato da dottwatson
    questo però ti obbliga, in case di lingue in più, a dover modificare la tabella e relative query..
    abbiamo scritto insieme..
    te come lo faresti?

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Gurda io lo farei prorpio come detto sopra e la lingua la setterei su cookie o su session.

    Il fatto di usare le colonne per le lingue diverse e' comodo. Certo la base di dati non e' normalizzata. .... ma ******* anche alla normalizzazione dove non serve.

    Per aggiungere un'altra lingua ti basta fare un :

    alter table prodotti add column spagnolo text;

    e aggiungi la laingua poi inserisci le descrizioni magari replicandole dalla colonna inglese con un'altra semplice query finche nn le inserisci te a mano

    update prodotti set spagnolo = inglese

    Et voila' con il metodo descritto sopra e questa tecnica diventa veloce e facile gestire le lingue.

    Inoltre salvando il cookie verra' sempre caricata la lingua selezionata.

    In alternativa puoi controllare l'header della request e gestire con lo user-agent la lingua.


    EDIT:
    ti sconsiglio di usare i nom,i delle colonne come descrizione1 etc usa etichette significative come it/ita/italiano , en/eng/inglese etc.

  10. #10
    vi ringrazio per aver scritto, le vostre osservazioni sono state molto chiare, sempre lieto di avere nuove informazioni.
    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.