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

    Gestione sito multilingua.

    Salve a tutti,

    sto creando un sito multilingua.
    Per ciascuna lingua ho creato delle pagine apposite, e credo che questa sia una "ripetizione" in quanto tempo fa mi era capitato di vedere un sito che invece di creare la stessa pagina in diverse lingue, utilizzava un unico file in php. In questo file, a seconda della lingua, veniva letto un file di testo contenente i testi tradotti.

    Potete dirmi con quale funzione in php posso leggere una riga contraddistinta da un numero all'interno di un file di testo?

    Ad esempio:

    201: Inserisci nome e cognome.

    Tale numero, 201, verrà inserito nel corrispondente codice in php, al posto della stringa contenente la frase qui sopra citata(Inserisci nome e cognome.).

    In tal modo, ciascun file (ad es: it.txt , en.txt, fr.txt) conterrà linee come quella in esempio contenente la stringa richiesta dal codice.

    Qualcuno mi può dare delle delucidazioni?

  2. #2
    generalmente questo si fa con un file con una serie di define() che viene incluso dinamicamente a seconda della lingua selezionata

  3. #3
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    php localization with TMX

    in alternativa puoi creare dei un file della lingua in php costituito da qualcosa del tipo

    $mess['it']['Saluto']="Ciao";
    $mess['en']['Saluto]="Hello";

    In questo modo, stabilita la lingua, magari in una variabile chiamata $lang nel tuo codice di pagina avrai

    $mess[$lang]['Saluto'] e a seconda della lingua selezionata apparirà la frase nella lingua desiderata.

    Se poi non vuoi caricare tutte le lingue, ma solo una lingua specifica per volta, perchè hai molte frasi, puoi utilizzare uno switch avendo nel default una lingua tipo italiano e negli altri case metterai en, de,... così carichi solo la lingua necessaria.

    se poi lo vuoi fare a funzione puoi fare nel file lingue.php
    codice:
    function SelezionaLingua($lang){
        switch($lang){
            case 'en':
                $mess['saluto']="Hello";
                break;
            default:
                $mess['saluto']="Ciao";
                break;
        }
        return $mess;
    }
    e nel tuo codice di pagina, dopo la chiamata a $m=SelezionaLingua($l) potrai fare riferimento alle frasi tramite $m['saluto'] per esempio.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.