Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    81

    Come strutturare un sito multilingua

    Buonasera, ho notato che il mio sito http://www.lavl.tk man mano che aggiungo pagine diventa sempre più difficile gestirlo usando solo css e html (uso php solo per i messaggi per adesso). Come avrete notato in un post precedente http://forum.html.it/forum/showthrea...readid=2926344 volevo usare php e la funzione include per mettere le parti comuni del sito in un documento solo che ora che ci penso sarebbe stata una idea che funziona se non fosse che il sito è multilingua quindi non cambierei di molto la situazione. Avete consigli su come migliorare la gestione di un sito multilingua?

  2. #2
    un pò vaga la domanda: come li gestisci i documenti da mostrare e che dovrebbero essere mostrati nella lingua richieta? da db? file di testo? hardcoded nella pagina?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    81
    Attualmente con pagine HTML ed ogni volta che aggiungo una pagina nuova devo aggiornare tutte le altre, e quindi quando diventano tante diventa difficile gestirle tutte. A parte l' idea di mettere in comune le parti uguali altri consigli? Non uso DB

  4. #4
    diciamo che tu hai una url del tipo: http://www.tuosito.ext/it/home.htm che dovrebbe appunto caricare la pagina home.htm nella lingua italiana. Diciamo che con url rewrite ti fai richiamare: index.php?lang=it&page=home.htm , allora potresti fare una cosa del tipo:

    Codice PHP:
    //index.php
    <?php

    $lang 
    $_GET['lang'];
    $page $_GET['page'];
    ?>
    <html>
    <head>...</head>
    <body>
    <?php
         
         
    echo file_get_contents(__DIR__.'/private/view/'.$lang.'/'.$page);

    ?>
    </body>
    e in /private/view/it/home.htm avrai una cosa del tipo:

    codice:
    <b>Lorem ipsum</b>
    testo o codice html
    in una struttura del tipo:
    codice:
    root_sito:
      - index.php
      - .htaccess
      - private
          - view
              - it
                  - home.htm
              - en
                  - home.htm
    e via discorrendo per ogni lingua. Ovviamente index.php definisce il layout generale del sito e le varie pagine *.htm il contenuto specifico per ogni pagina.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2015
    Messaggi
    81
    Perchè mi continua a far vedere errore, ho provato a creare le cartelle e i file necessari per provare.



    Notice: Undefined index: lang in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\index.php on line 4

    Notice: Undefined index: page in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\index.php on line 5

    Warning: file_get_contents(C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb/private/view//): failed to open stream: No such file or directory in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\index.php on line 12
    e poi se voglio cambiare lingua come devo scrivere il link?
    Ultima modifica di XuRi; 31-05-2015 a 16:20

  6. #6
    vabbeh ho capito ma qui parliamo proprio del php di base ...

    Codice PHP:
    <?php

    $lang 
    = isset($_GET['lang'])? $_GET['lang'] : 'it';
    $page = isset($_GET['page'])? $_GET['page'] : 'home.htm';
    ?>
    e un link sarebbe:

    codice:
    index.php?lang=en&page=home.htm
    o se usi l'urlrewrite
    codice:
    /en/home.htm
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Tag per questa discussione

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.