Visualizzazione dei risultati da 1 a 4 su 4

Discussione: lingue e array

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    54

    lingue e array

    ciao a tutti sto facendo delle prove per cercare di capire meglio un po il php..io ho fatto questo programmino, che data una variabile x che se è =a 0 mi stampa array catego_ita se x=2 stampa catego_eng senno stampa messaggio errore...fin qua ok...adesso vorrei implementarlo ulteriormente e cercare di renderlo utilizzabile per l'eventuale utilizzo di un sito multilingue.

    VORREI:
    1)togliere il valore della variabile $x e al suo posto vorrei che se siamo nellapagina index.php=?ita mi viene stampato l'array in italiano, senno mi stampa quello in inglese

    2)ho notato che se lo metto in dreamweaver se utilizzo la visualizzazione struttura vedo solo 1 blocco di codice..vorrei sapere come devo fare ad avere un blocco php per ogni categoria(es. uno per home uno per chi ecc ecc)..

    Codice PHP:
    <?php 
        
        $x
    =0;
        
     
    $catego_ita = array('home''chi''ciao''verde''rosso'); 
     
    $catego_eng = array('home''who''hello''green''red'); 
     
     if (
    $x==0) {
          
     

    echo 
    $catego_ita[0]; 
    echo 
    "|";
    echo 
    $catego_ita[1];
    echo 
    "|";
    echo 
    $catego_ita[2];
    echo 
    "|";
    echo 
    $catego_ita[3];
    echo 
    "|";
    echo 
    $catego_ita[4];
    echo 
    "|";}

    elseif (
    $x==2){

    echo 
    $catego_eng[0]; 
    echo 
    "|";
    echo 
    $catego_eng[1];
    echo 
    "|";
    echo 
    $catego_eng[2];
    echo 
    "|";
    echo 
    $catego_eng[3];
    echo 
    "|";
    echo 
    $catego_eng[4];
    echo 
    "|";
    }
    else {
    echo 
    "NON POSSO STAMPARE NULLA";
    }

    ?>

  2. #2
    Per la prima domanda puoi fare così:

    Codice PHP:
    <?php
    if($_GET['lang']=='')
        
    $_GET['lang']='it';
    $catego_ita = array('home''chi''ciao''verde''rosso');
    $catego_eng = array('home''who''hello''green''red');

    if (
    $_GET['lang']=='it') {
          


    echo 
    $catego_ita[0];
    echo 
    "|";
    echo 
    $catego_ita[1];
    echo 
    "|";
    echo 
    $catego_ita[2];
    echo 
    "|";
    echo 
    $catego_ita[3];
    echo 
    "|";
    echo 
    $catego_ita[4];
    echo 
    "|";}

    elseif (
    $_GET['lang']=='en'){

    echo 
    $catego_eng[0];
    echo 
    "|";
    echo 
    $catego_eng[1];
    echo 
    "|";
    echo 
    $catego_eng[2];
    echo 
    "|";
    echo 
    $catego_eng[3];
    echo 
    "|";
    echo 
    $catego_eng[4];
    echo 
    "|";
    }
    else {
    echo 
    "NON POSSO STAMPARE NULLA";
    }

    ?>
    Ovviamente il link sarà index.php?lang=it o index.php?lang=en

    Per la seconda domanda non ho capito che intendi

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    54
    grazie..
    2)praticamente intendo dire che quando viene stampato il mio array, mi viene stampato in blocco, cioè tutti assieme...se io per esempio volessi inserire ogni categoria in una cella di una tabella, non mi sarebbe possibile, proprio perchè sono un gruppo unico..

    come posso fare a separare ogni voce e gestire ognuna come singola variabile?

    3)mi sorge un dubbio...ma se il mio array era di 1000 elementi e dovevo stamparli tutti e 1000 dovevo per forza procedere come ho fatto io o esiste qualche comando che mi permette di fare una stampa totale?



    grazie

  4. #4
    Allora, in realtà questo metodo di definire gli elementi dell'array da utilizzare poi come voci di traduzione non è molto corretto!

    In teoria potresti fare così!

    ita.php
    Codice PHP:
    // Definisci l'array della lingua italiana
    $lang=array();
    //Attribuisci all'array i vari elementi
    $lang['tasto_home']="Home";
    $lang['tasto_contatti']="Contatti"
    eng.php
    Codice PHP:
    // Definisci l'array della lingua inglese
    $lang=array();
    //Attribuisci all'array i vari elementi
    $lang['tasto_home']="Home";
    $lang['tasto_contatti']="Contact us"
    Poi in base alla lingua che vuoi visualizzare, includi un file piuttosto che l'altro

    Ovviamente in questo modo, puoi posizionare la scritta Contatti/Contact us dove ti pare, semplicemente stampando la variabile $lang['tasto_contatti'].

    Chiaro?

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.