Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Sito multilingua

  1. #1

    Sito multilingua

    Ciao a tutti! ;D
    Sto andando avanti a passi da gigante per il mio programma (dalla forma di un sito), però ora ho un problema, io vorrei fare una cosa multi-lingua, così sto cercando di fare una funzione php che mi traduca al volo le stringhe da mostrare all'utente.
    Solo che tra una cosa e l'altra non so neanche da dove partire (non ho molta praticità con le funzioni, l'unica che ho fatto e uso è per connettere il database ed eseguire le query...), perchè io ho una variabile di sessione con la lingua dell'utente, e veri file "it.lang" e "en.lang".
    Come potrei partire?
    I file .lang mi piacerebbe farli tipo:
    codice:
    created by=creato da
    for=per
    settings=impostazioni
    Log-out=Disconnetti
    Trash=Cestino
    Write new=Scrivi nuovo
    Inbox=Inbox
    VERSION=VERSIONE
    Send=Invia
    Reply to=Rispondi a
    Delete=Elimina
    Read message=Leggi messaggio
    Che quindi di volta in volta vada a cercare la scritta in inglese, per sostituirla con la seconda, altrimenti mi ritorna la scritta in inglese (se non ci fosse la traduzione).

  2. #2
    Utente di HTML.it L'avatar di mgfx
    Registrato dal
    Feb 2008
    Messaggi
    173
    allora la cosa è abbastanza semplice
    ti fai un bel file php ad esempio it.php oppure en.php a seconda della lingua

    e ci metti quello che hai scritto

    ad esempio per l'it.php fai

    <?php
    $_created_by="creato da";
    $for="per";
    $settings="impostazioni";
    ecc...
    ?>

    poi recuperi i valori per la lingua con un $_GET
    tipo:
    <?php
    $lang = $_GET['lang'];
    ?>

    quindi:

    if($lang = "it")
    includi il file it.php

    altrimenti se.... eccc

    poi stampi i corrispondenti valori
    ade esempio
    echo $_created_by;

    finito, nietne di più semplice.

    naturalmente dovrai far scegliere all'utente
    la lingua farai tipo:
    echo "seleziona la tua lingua:
    ";
    echo "ITALIANO";
    echo "INGLESE";

    ciao ciao

  3. #3
    Preferisco evitare la strada delle variabili, che sennò mi tocca usare un numero spropositato di variabili, e ho paura che poi vadano a interferire con altra variabili.

  4. #4
    Utente di HTML.it L'avatar di mgfx
    Registrato dal
    Feb 2008
    Messaggi
    173
    le contraddistinqui con qualcosa
    tipo
    $_variabile
    invice di
    $variabile

  5. #5
    Ok, la soluzione non mi piace, non potrei leggere da un file le righe di traduzione?

  6. #6

  7. #7
    Ci sono quasi, tramite questo codice:
    codice:
    $percorso = file("bancadati.txt");
    $array=array();
    while(list(,$value) = each($percorso)){
        list($en, $localized) = explode("=", $value);
        $params["en"] = $en;
        $params["localized"] = $localized;
        $append_array=array_chunk($params, 2);
        $array=array_merge($array, $append_array);
    }
    foreach ($array AS $key1 => $val1){
    	foreach ($val1 AS $key2 => $val2){
    		echo "Array di riga $key1, posizione $key2, contenuto $val2
    \n";
    	}
    }
    Ora riesco a ottenere:
    codice:
    Array di riga 0, posizione 0, contenuto Giuseppe
    Array di riga 0, posizione 1, contenuto Garibaldi
    Array di riga 1, posizione 0, contenuto Maria
    Array di riga 1, posizione 1, contenuto Stuarda
    Quindi ora mi basterebbe cercare tra le posizioni "0" la stringa che mi serve, per poi andare a restituire la posizione "1", suggerimenti?

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.