Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di ermy
    Registrato dal
    Jun 2000
    Messaggi
    121

    pagine multilingua, come posso fare?

    Salve amici... ho letto alcuni articoli dove viene spiegato come far cambiare la lingua tramite un select, ma non mi sono stati utili

    Io invece ho la necessità di fare in questo modo:

    Nel menu di navigazione, ho IT EN DE ES e li uso come link appunto per mostrare la lingua che seleziono.

    I link del sito sono strutturati in questo modo:

    index.php?pag=nomepag (senza estensione)

    Ora, se clicco su EN la pagina cambia i testi in inglese. Quindi il link sarà:
    index.php?pag=nomepag&lang=EN&sid=$sid

    Ma per fare in modo di fargli selezionare la lingua come devo procedere?
    Avevo pensato di usare lo swith con la funzione header... ma può funzionare? C'è nessuno che ha voglia di farmi un semplicissimo esempio?

    Sono negato per il php ma ho voglia di imparare qualcosina

    Ciao grazie a tutti...
    Ermes

  2. #2

    pagine multilingue

    Ciao Ermy,

    Senti io sono nuovo nella programmazione in generale, è un anno circa che sto sviluppando con PHP e mi ci trovo bene. A volte ho dei problemi, ma niente che un tutorial o una ricerca nella rete non possa risolvere.

    La domanda che fai è abbastanza complicata, per me almeno.

    Io sto facendo un sito multilingue (italiano, portoghese e inglese) e l'ho strutturato cosí:

    1. Lavoro usando templates che includo alle pagine del sito. Questi sono, normalmente, l'header e il footer.

    2. Gli attributi dell'html nel Doctype, le "keywords", la descrizione nel "meta", i nomi delle pagine nei links, tutti i contenuti e tutti i "title" nei links, nonché tutti gli "alt" delle immagini sono variabili del tipo $index, $portfolio, $contatto, $index_title, $portfolio_title, $contatto_title e cosí via.

    3. Per la scelta della lingua uso un select.

    4. Prima dell'html e dopo il Doctype, ho inserito una serie di if e elseif per stabilire la lingua default e le possibili scelte degli utenti attraverso il select. A seconda della scelta PHP include un "config" differente.

    5. Per i links, visto che uso $_GET['lingua'], come metodo, ho fatto cosí: index.php?lingua=<?php $_GET['lingua']; ?>, e il gioco è fatto. Mi mantiene la lingua per tutto il sito senza bisogno di cookies né di sessions. Chiaramente non ricorda le impostazioni dei visitanti, ma non è lo scopo del sito... quindi.

    È tutto. Se ce l'ho fatta io che non ci capisco niente, per te dovrebbe essere una bazzeccola.

    Spero di averti aiutato.

    Ciao
    www.noblocodenotas.com

    Quando il dito punta alla luna, il saggio guarda la luna, lo stupido... il dito.

  3. #3
    spero possa esserti utile questa discussione:
    http://forum.html.it/forum/showthrea...hreadid=731751

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4
    Utente di HTML.it L'avatar di Cerebro
    Registrato dal
    Jan 2005
    Messaggi
    193
    I sono indeciso se usare un file per le frasi per ogni lingua o un solo file con una variabile vettore.

    Esempio, più file per una lingua:

    - lang_it.php
    codice:
    <?php
    $strings['menu_0'] = "Pagina pricipale";
    $strings['menu_1'] = "Contatti";
    ?>
    - lang_en.php
    codice:
    <?php
    $strings['menu_0'] = "Home";
    $strings['menu_1'] = "Contacts";
    ?>
    etc etc. E poi includo quello che voglio a seconda di una varibile di sessione appropriata.

    Oppure la soluzione ad un file singolo:

    - strings.php
    codice:
    <?php
    $strings['menu_0'] = array("Pagina principale", "Home"     );
    $strings['menu_1'] = array("Contatti",          "Contacts" );
    ?>
    In questo ultimo caso userei di volta in volta la variabile di sessione della lingua come indice per indicizzare il vettore tipo:

    echo $strings['menu_0'][ $_SESSION['lang'] ]; // $_SESSION[] = 0, 1, ...

    Boh, forse è meglio la prima soluzione.

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