We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26074
    • 121 Posts
    Apro questo nuovo topic sulla questione multilingua dopo aver letto quanto scritto in questo http://modxcms.com/forums/index.php/topic,10432.0.html in quanto voglio capire se quello che sono riuscito a fare è giusto o devo seguire un’altra strada.

    In allegato c’è la struttura ad albero dei documenti che ho creato (albero_documenti.JPG)
    Inoltre ho inserito anche le immagini dei due template (Template IT.JPG e Template EN.JPG)

    Le cartelle IT ed EN contengono tutti i documenti nelle rispettive lingue. Entrambe le ho impostate come Container in Page Setting. Inoltre ho lasciato attiva l’opzione Show in menu.

    Poi ho creato due template, uno per ogni lingua in modo da impostare le scritte statiche nella lingua relativa. Li ho chiamati rispettivamente Template IT e Template EN.
    Ho utilizzato lo snippet UltimateParentPlus modificato da madmage trovato qui http://modxcms.com/forums/index.php/topic,10434.0.html e il wayfinder per creare il menu.

    Riporto qui il codice dei 2 template:

    Template IT
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	<title>[(site_name)] - [*pagetitle*] - Template IT</title>
    </head>
    
    <body>
    	<div id="header">
    		<h1>Template IT</h1>
    		<h2>Lingua</h2>
    		<a href="http://localhost/modxlingua/index.php?id=3">Ita</a>
                                    <a href="http://localhost/modxlingua/index.php?id=5">Eng</a>
    	</div>
    	
    	<hr />
    	
    	<div id="col-sx">
    		<h2>Menu</h2>
    		[!Wayfinder? &startId=`[[UltimateParentPlus? &active=`0`]]` !]
    	</div>
    	
    	<hr />
    	
    	<div id="content">
    		<h2>[*longtitle*]</h2>
    		[*content*]
    	</div>
    	
    	<hr />
    </body>
    
    </html>
    


    Template EN
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    	<title>[(site_name)] - [*pagetitle*] - Template EN</title>
    </head>
    
    <body>
    	<div id="header">
    		<h1>Template EN</h1>
    		<h2>Language</h2>
    		<a href="http://localhost/modxlingua/index.php?id=3">Ita</a>
                                    <a href="http://localhost/modxlingua/index.php?id=5">Eng</a>
    	</div>
    	
    	<hr />
    	
    	<div id="col-sx">
    		<h2>Menu</h2>
    		[!Wayfinder? &startId=`[[UltimateParentPlus? &active=`0`]]` !]
    	</div>
    	
    	<hr />
    	
    	<div id="content">
    		<h2>[*longtitle*]</h2>
    		[*content*]
    	</div>
    	
    	<hr />
    </body>
    
    </html>
    



    Dopo questo ho modificato in Tools -> Configuration l’opzione Site start a id=3, cioè impostando Pagina 1 come prima pagina da caricare quando viene avviato il sito.

    Ora, navigando il sito, i menu funzionano correttamente, cioè viene visualizzato solo quello relativo al container dove mi trovo.
    Se scelgo di passare ad English cliccando in link Eng, viene caricata la prima pagina (Page 1), viene visualizzato solo il menu in inglese e viene caricato anche il relativo template.

    Quindi diciamo che sono riuscito ad ottenere un sito multilingua molto rudimentale.

    Quello che invece volevo fare, ma non riesco, e che se l’utente sta navigando ad esempio su Pagina 2 e quindi sul sito in italiano, clicca il link Eng, la navigazione deve passare a Page 2 (traduzione di Pagina 2) e non a Page 1.

    Naturalmente so che per come ho fatto il sistema e implementato i template, non posso aspettarmi un funzionamento del genere.

    Non so se quello che ho fatto poteva farsi anche in modo diverso.
    Forse non ho dato l’impostazione giusta al tutto per poter fare un sito multilingua come si deve.

    Spero che qualcuno possa darmi una mano per migliorare questo sistema o suggerirmi uno migliore, magari anche spiegando passo passo come creare da zero un sito multilingua.

    L’ideale sarebbe un "mini tutorial for dummies" fatto da chi è già riuscito a fare il tutto in modo professionale. Penso sia una cosa importante la questione multilingua che purtroppo l’amato MODx non implementa in modo nativo.

    Spero di non aver chiesto troppo. grin
      ___________________________________________________________________
      ..:: Samuele ::..
      • 17895
      • 209 Posts
      In realtà ti sei comportato benissimo ;-) : attualmente è proprio questo il metodo più comunemente utilizzato. Anche il mio sito (http://www.mindreamz.net) funziona allo stesso modo... per quanto riguarda il cliccare sulla lingua e portarsi sulla pagina tradotta, piuttosto che sulla prima pagina della lingua scelta, ci sto lavorando.

      Il problema è che non è ben chiaro a MODx quale sia la pagina tradotta. Non c’è nessun link tra le due pagine. Il mio primo tentativo utilizzava i nomi degli alias (ad esempio blog-en e blog-it)... tuttavia non mi piace granché come scelta, visto che qualcun altro potrebbe desiderare altri alias per i propri documenti.

      Quello che sto facendo, dunque, è di modificare la tabella site_content e aggiungervi due campi, uno che indica la lingua e l’altro che indica di cosa è traduzione.

      Quindi si avrebbe qualcosa di questo genere:
      titolo: page1
      lingua: en
      traduzione di: -

      titolo: pagina1
      lingua: it
      traduzione di: page1

      ecc.

      in questo modo, creando un opportuno snippet che scrive i link con le bandiere (il cambio di lingua), le cose dovrebbero esser fatte...

      so che i core-coder mi direbbero di usare delle TV... ora posto una richiesta nel forum Core Code e vediamo che succede ;-)
        Daniele "MadMage" Calisi
        • 26074
        • 121 Posts
        ok, è giusto che dovrebbero essere i core-code ad implementare qualcosa per gli utenti comuni che magari non hanno molta esperienza nella programmazione php e via dicendo.

        io addirittura nel sito che gestisco ho fatto 2 installazioni di modx laugh, ora dovrò riaggiornare il tutto con questa nuova tecnica.

        però mi viene un dubbio:
        se le lingue sono più di due, bisognerà aggiornare manualmente tutte le parti statiche dei vari template che quindi non saranno 2 ma molti di più con conseguente perdita di tempo.

        spero che i core-code facciano qualcosa.
          ___________________________________________________________________
          ..:: Samuele ::..
          • 17895
          • 209 Posts
          Quote from: samuele at Jan 01, 2007, 08:15 AM

          ok, è giusto che dovrebbero essere i core-code ad implementare qualcosa per gli utenti comuni che magari non hanno molta esperienza nella programmazione php e via dicendo.

          io addirittura nel sito che gestisco ho fatto 2 installazioni di modx laugh, ora dovrò riaggiornare il tutto con questa nuova tecnica.

          però mi viene un dubbio:
          se le lingue sono più di due, bisognerà aggiornare manualmente tutte le parti statiche dei vari template che quindi non saranno 2 ma molti di più con conseguente perdita di tempo.

          spero che i core-code facciano qualcosa.

          il problema è proprio che hai parti statiche nel template... dovrebbe essere tutto dinamico: in un sito multilingua è un controsenso che esistano parti "statiche" contenenti testo!
            Daniele "MadMage" Calisi
            • 26074
            • 121 Posts
            Hai ragione però per rendere tutto dinamico dovrei programmare vari snippet nei quali bisognerebbe ricavare la quale sezione mi trovo e quindi caricare il testo nella relativa lingua. Giusto?

            Se è così, per ora visto che devo gestire solo 2 lingue, utilizzo 2 template. Poi resto in attesa e spero che i programmatori di modx facciano una implementazione di questa funzionalità.

              ___________________________________________________________________
              ..:: Samuele ::..
              • 17895
              • 209 Posts
              Quote from: samuele at Jan 02, 2007, 03:53 PM

              Hai ragione però per rendere tutto dinamico dovrei programmare vari snippet nei quali bisognerebbe ricavare la quale sezione mi trovo e quindi caricare il testo nella relativa lingua. Giusto?

              Se è così, per ora visto che devo gestire solo 2 lingue, utilizzo 2 template. Poi resto in attesa e spero che i programmatori di modx facciano una implementazione di questa funzionalità.

              esatto... non è ancora ben chiaro come fare i siti multilingua in modx, non so se l’hai capito smiley
                Daniele "MadMage" Calisi