Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Script, libreria jquery o altro per creare sito in multilingue

    Ciao a tutti,
    Per creare un sito in multilingue quali sistemi/tecniche posso usare?
    Esiste qualche script apposito senza dover ricreare nuovamente tutta la ruota?
    E' corretto pensare a js?
    Io vorrei che cliccando su ENG tutta la pagina si traducesse in automatico.
    Concordate con me che la soluzione migliore è creare un'unica pagina html con dentro tutti i testi in tutte le lingue?
    E' possibile che la lingua di default venga scelta da js in funzione della lingua del browser?
    Grazie
    Più pratica in futuro...

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Ciao a tutti,
    Per creare un sito in multilingue quali sistemi/tecniche posso usare?
    dipende da quante lingue dalla complessità e quantità di testo delle pagine
    Esiste qualche script apposito senza dover ricreare nuovamente tutta la ruota?
    non penso ma non lo ho mai cercato su Google
    E' corretto pensare a js?
    forse si forse no dipende dalla logica, non è comunque indispensabile
    Io vorrei che cliccando su ENG tutta la pagina si traducesse in automatico.
    fattibile con la pagina inglese disponibile tradotta sul server oppure usando il traslation di Google (ma non lo trovo molto professionale inoltre la traduzione lascia molto a desiderare)
    Concordate con me che la soluzione migliore è creare un'unica pagina html con dentro tutti i testi in tutte le lingue?
    non è detto vedi risposta uno
    E' possibile che la lingua di default venga scelta da js in funzione della lingua del browser?
    Si è possibile ma potrebbe non essere affidabile se la lingua del browser non è disponibile gli devi forzare l'inglese ma non è detto che sia la scielta migliore
    Grazie
    prego
    Ultima modifica di cavicchiandrea; 10-04-2016 a 22:53
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Grazie mille per la risposta super dettagliata!

    Le pagine non contengono molto testo, al massimo possono arrivare a 200 parole. Tieni conto che i file html del sito sono 3 però vorrei fare una cosa ben fatta per i futuri aggiornamenti e per altri progetti web che potrei fare in seguito. Creare una cartella per ogni lingua mi sembra un lavoro non curato.

    Come lingua di default quando js non riesce a leggerla dal browser sceglierei l'italiano dato che è quella più importante (solo per il sito in questione ovviamente).

    Non mi parlare di Google Translate, le traduzioni sono fatte da una mia amica con le giuste competente lessicali e grammaticali (io non mi spingo oltre al dialetto ).

    Dimmi il tuo parere, io sono indeciso tra la pagina index.php che reindirizza alla cartella corretta (it, en, ecc...) e lo script che nella singola pagina individua la lingua del browser e la propone al visitatore dandogli però al contempo la possibilità di cambiarla in ogni istante. Tra le due opzioni, la seconda mi sembra la più funzionale ma attendo un tuo giudizio frutto sicuramente anche della tua esperienza e che a me piacerebbe tanto conoscere.

    Nella seconda casistica credo che si debba ricorrere a un cookie, la prima opzione forse è più semplice.

    Sono veramente sorpreso che non esista nulla di pronto in jquery o in altre librerie.
    Più pratica in futuro...

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Grazie mille per la risposta super dettagliata!

    Le pagine non contengono molto testo, al massimo possono arrivare a 200 parole. Tieni conto che i file html del sito sono 3 però vorrei fare una cosa ben fatta per i futuri aggiornamenti e per altri progetti web che potrei fare in seguito. Creare una cartella per ogni lingua mi sembra un lavoro non curato.

    una possibilità sarebbe quella di usare un generatore di siti statici, come jekyllRB o middleman. Nel tuo caso andrei su quest'ultimo visto che ha un supporto nativo per la localizzazione delle pagine.

    un generatore funziona in modo molto semplice: hai un layout e enne view che lo utilizzano, in output otterrai le pagine compilate (layout + view)

    L'idea di base sarebbe quella di creare appunto un layout e una sola view e un file json o yaml che contiene i testi nelle varie lingue: attraverso una pagina proxy puoi dire a middleman di compilarla in tre output distinti ciascuno dei quali pesca una localizzazione.

    Il vantaggio è evidente. Hai una sola pagina da mantenere, le traduzioni disaccoppiate dalla pagina e il tutto è estremamente scalabile
    Ultima modifica di fcaldera; 11-04-2016 a 13:51
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Sviluppo su Windows, non saprei gestire librerie che richiedono un'installazione da OS e poi mi sembra una cosa tanto astrusa! Saranno certamente ottimi prodotti ma non so come utilizzarli. Io sono abituato a scaricare il file.zip da aggiungere nell'head della pagina.
    Grazie ugualmente per il tuo aiuto
    Più pratica in futuro...

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2016
    Messaggi
    1
    edit by mod
    Ultima modifica di ciro78; 13-04-2016 a 00:02 Motivo: non è pertinente alla discussione e inoltre sei fuori sezione!

  7. #7
    Sto lavorando ad uno script in javascript, credo sia la soluzione migliore.
    Più pratica in futuro...

  8. #8
    Quote Originariamente inviata da giannino1995 Visualizza il messaggio
    Sto lavorando ad uno script in javascript, credo sia la soluzione migliore.
    per esperienza personale, a me non è mai piaciuto gestire le lingue lato js.
    generalmente le gestisco lato server (a prescindere dal linguaggio).

    perchè lo devi fare proprio lato js??

  9. #9
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    se devi proprio usare js ti converrebbe marcare i testi usando l'attributo lang con il valore ISO639-1 a due lettere, tipo

    codice:
    <p lang="it">Lingua italiana</p>
    <p lang="en">English language</p>
    <p lang="sv">Svenska språk</p>

    poi nascondi tutti i testi localizzati via css eccetto quello selezionato


    codice:
    p[lang] { display: none }
    
    html[lang="it"] p[lang="it"] ,
    html[lang="en"] p[lang="en"] ,
    html[lang="sv"] p[lang="sv"] { display: block; }

    e il cambio lingua lo fai facendo uno switch dell'attributo lang dell'elemento di root (document.documentElement) che di base sarà settato a italiano

    codice:
    <html lang="it">
    Ultima modifica di fcaldera; 13-04-2016 a 10:03
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  10. #10
    Grazie per il suggerimento!
    In js è esaustivo individuare la lingua in questo modo:
    codice:
    var lingua = window.navigator.systemLanguage || window.navigator.language;
    ... per l'italiano ...
    codice:
    if (lingua.toLowerCase().indexOf('it') != -1){
    ... per l'inglese ...
    codice:
    if (lingua.toLowerCase().indexOf('en') != -1){
    Ultima modifica di giannino1995; 13-04-2016 a 11:58
    Più pratica in futuro...

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.