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

    Codifica sito multilingua

    Salve,

    pianificando come creare un sito multilingua sto cercando di capire e prevedere le varie problematiche legate alla codifica della pagina.
    Purtroppo non ho trovate pillole che fossero esaurienti sul delicatissimo e vasto argomento 'Codifiche'.

    Il sito dovrà essere in italiano e in inglese, ma in futuro non escludo che venga fatta la localizzazione in cinese e/o giapponese.
    Quindi la codifica è forzatamente su utf-8.

    Mi/Vi domando:

    1) Quali sono le principali cose da controllare per una corretta codifica di una pagina in italiano (utf-8)?

    Quindi impostare l'header, il meta della pagina XHTML, trovare il modo di stampare sempre le htmlentities quando necessario, etc...

    2) Quali altre eventualità devo prevedere nel caso di un sito/pagina multilingua che dovrà gestire più tipi di caratteri?

    3) Conviene mettere tutto l'output HTML (scomodamente) all'interno di una stringa e poi applicarvi funzioni varie (tipo iconv e cose simili)? Oppure ci sono altre pratiche?

  2. #2
    ma perché non ti hanno risposto!! serve anche a me e non trovo la risposta da nessuna parte... sigh-sob...

  3. #3
    Cerca tra i miei messaggi passati (periodo 2008, come al post a cui hai risposto).
    Ho scritto in diversi thread dove si parla dell'argomento..

    Comunque di base:
    - si deve avere il formato della codifica in "UTF-8 (senza BOM)", impostabile sulle pagine PHP tramite editor avanzati come Notepad++ (occhio che se ci passi col vecchio Notepad ti risalva il file con un'estensione differente, ANSI mi pare).
    - si devono inizializzare le intestazioni con la funzione 'header()' di PHP, per istruire il web server su cosa generare
    - si deve dichiarare correttamente DOCTYPE all'inizio della pagina, specificando la codifica
    - si deve aggiungere il <meta> tag riguardante la codifica, nell'<head> della pagina HTML risultante

    Comunque, come ho detto, cerca in post precedenti sul sito (dove ho scritto anche io)...

    Ah, con questi accorgimenti non è assolutamente necessario stare a smattare con iconv, mbstrings o specificando le HTML Entities.... (salvo smentite )

  4. #4
    ehi!
    innanzitutto, grazie mille della risposta

    io mi trovo di fronte ad un sito web interamente in italiano , scritto a mano con il blocco note normalissimo, ed in html (seguendo gli standard w3c), solo con due pagine in lingua straniera: una in inglese ed una in cinese.
    - per quella inglese non ci sono problemi (basta indicare nella lingua del doctype en, giusto?
    - per quella cinese non capisco come utilizzare i caratteri: parto da un testo in word che mi hanno passato (che apro in openoffice), e quando lo incollo nel blocco note, già lì perdo dei caratteri: mi si trasformano nei terribili rettangolini vuoti. nel momento in cui vado a salvare, mi indicano la differenza di codifica, facendomi salvare il documento in ANSI (ma cmq salvo come "tutti file" e aggiungendo al nome .html?). ma come faccio con i quadratini? devo usare i codici per i caratteri speciali anche con i caratteri cinesi? mi sai indicare un link con un elenco?

    Poi:
    - doctype: basta che specifico la lingua (italiano: it; inglese:en; cinese:cn o zh?);
    - head: è solo se uso PHP? o posso fare tutto in html, creando un link alla nuova pagina (in cinese).. giusto?
    - meta: non ho capito.

    Poi:
    - ho letto che la visualizzazione da parte dell'utente (specifico: per i caratteri cinesi) dipende dal browser utilizzato e da eventuali plug-in installati. per favorire l'utente volevo mettere un link (anche in avviso al caricamento della pagina, pensavo ad "alert") che riporti ad un download dei componenti necessari per una corretta visualizzazione. siti di riferimento?


    troppa roba? :master:

  5. #5
    Un po' di tempo fa mi sono cimentato nella realizzazione di alcune pagine
    tradotte nelle lingue Arabo, Giapponese, Inglese, Italiano e Francese.
    E' molto impegnativo comunque sono riuscito abbastanza.

    I parametri fondamentali che ho tenuto conto sono innanzittutto quelli
    HTML

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
    "................/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    xml:lang="it"
    dir="ltr">
    <head>
    <meta http-equiv="content-encoding" content="UTF-8" />
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />

    Questi valori vanno caricati dinamicamente a seconda della lingua del
    client/browser, e' un aspetto importante per la corretta visualizzazione
    come ben sapete. Il Concetto e' in base alla lingua del client richiamo
    i file include appropriati. L'utente non puo' scegliere lui la lingua
    .

    Effettuando diverse prove sono arrivato alla conclusione che importantissimo
    e' la TOTALE separazione tra:

    1) codice php
    2) contenuto pagina
    3) layout (css, template)

    Oltre a questo pero' c'e' la difficolta dei file scritti in lingua specifica
    e dei rispettivi encoding dei file. iconv non mi ha mai aiutato, forse
    non l'ho saputo mai sfruttare al meglio che ne so.

    Comunque ho usato Bluefish editor per il Giapponese (UTF-8) e Kate per
    l'Arabo (8859-6) l'encoding e' essenziale perche' scrivendo i file con quella
    codifica e caricandoli sul server, questi, quando vengono richiamati con un
    include() danno tranquillamente l'output standard.

    E' una bella cosa fare un sito multilingue non accantonate l'idea come ho
    fatto io

  6. #6
    Originariamente inviato da rel_style
    Un po' di tempo fa mi sono cimentato nella realizzazione di alcune pagine
    tradotte nelle lingue Arabo, Giapponese, Inglese, Italiano e Francese.
    E' molto impegnativo comunque sono riuscito abbastanza.

    I parametri fondamentali che ho tenuto conto sono innanzittutto quelli
    HTML

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
    "................/TR/xhtml11/DTD/xhtml11.dtd">
    E uno... per questo vedere le specifiche W3C.

    <html xmlns="http://www.w3.org/1999/xhtml"
    xml:lang="it"
    dir="ltr">
    E due. Vedere le specifiche XML.
    <head>
    <meta http-equiv="content-encoding" content="UTF-8" />
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    E tre. Studiarsi il tag <meta> dell' HTML/(X)HTML.
    Questi valori vanno caricati dinamicamente a seconda della lingua del
    client/browser, e' un aspetto importante per la corretta visualizzazione
    come ben sapete. Il Concetto e' in base alla lingua del client richiamo
    i file include appropriati. L'utente non puo' scegliere lui la lingua
    .
    Ecco questo non mi piace, anche se non è sbagliato.
    Vedi ad esempio il sito microsoft. A volte ti traducono in automatico gli articoli del KB, ma fanno pena e sono incomprensibili.
    La MS me li dà in italiano arrangiato, ma poi io scelgo di leggerli in un più comprensivo inglese.
    Effettuando diverse prove sono arrivato alla conclusione che importantissimo
    e' la TOTALE separazione tra:

    1) codice php
    2) contenuto pagina
    3) layout (css, template)
    Sante parole.... ma la realizzazione di ciò diventa veramente moooolto complicata.
    Ci vorrebbe un tutorial o una pillola per dare uno spunto a riguardo...

    Non è facile organizzarsi un sistema tale... soprattutto se si va poi ad avere un layout e dei contenuti dinamici, magari dipendenti dal database.

    Cioè, è molto difficile ideare e render solido e comodo quello 'strato centrale' che si interporrebbe tra contenuto e layout.

    Il codice PHP con che strategia lo seprareresti dal resto? Programmazione ad oggetti innanzitutto, ma non basta.
    Oltre a questo pero' c'e' la difficolta dei file scritti in lingua specifica
    e dei rispettivi encoding dei file. iconv non mi ha mai aiutato, forse
    non l'ho saputo mai sfruttare al meglio che ne so.
    Anche per me sono aggiramenti di un problema che può ricomparire... e richiede più rigore forse nell'usarle. iconv e mbstring sono soluzioni 'a metà' secondo me.
    Anche se non ho capito quanto PHP possa elaborare stringhe multibyte.... per ora mi son scontrato solo con la visualizzazione
    Comunque ho usato Bluefish editor per il Giapponese (UTF-8) e Kate per
    l'Arabo (8859-6) l'encoding e' essenziale perche' scrivendo i file con quella
    codifica e caricandoli sul server, questi, quando vengono richiamati con un
    include() danno tranquillamente l'output standard.
    Notepad++ non permette di giocare facilmente sulla codifica?
    Io mi ci trovo molto bene...
    E' una bella cosa fare un sito multilingue non accantonate l'idea come ho
    fatto io
    Bello sì, ma anche molto complesso ed è necessario pianificare bene le proprie scelte ed il proprio iter.....

  7. #7
    Originariamente inviato da sitowebbo
    ehi!
    innanzitutto, grazie mille della risposta
    Effettivamente ti è andata bene, nonostante il thread digging.
    io mi trovo di fronte ad un sito web interamente in italiano , scritto a mano con il blocco note normalissimo, ed in html
    Intanto passa ad uno strumento più 'gestibile'. Notepad non ti permette di scegliere come salvare i file e può crearti grossi problemi riguardo alla codifica.

    Io ti consiglio Notepad++: semplice, leggero, potente, compatibile, pieno di estensioni e funzionalità utili.
    E soprattutto freeware!
    Io uso quello.
    (seguendo gli standard w3c), solo con due pagine in lingua straniera: una in inglese ed una in cinese.
    - per quella inglese non ci sono problemi (basta indicare nella lingua del doctype en, giusto?
    Più o meno. In realtà dovresti fare tutte le stesse identiche procedure anche con l'inglese, ma fortunatamente gli angolassoni non fanno uso di caratteri particolari, quindi è molto difficile che ti si presentino problemi.
    - per quella cinese non capisco come utilizzare i caratteri: parto da un testo in word che mi hanno passato (che apro in openoffice), e quando lo incollo nel blocco note, già lì perdo dei caratteri: mi si trasformano nei terribili rettangolini vuoti. nel momento in cui vado a salvare, mi indicano la differenza di codifica, facendomi salvare il documento in ANSI (ma cmq salvo come "tutti file" e aggiungendo al nome .html?). ma come faccio con i quadratini? devo usare i codici per i caratteri speciali anche con i caratteri cinesi? mi sai indicare un link con un elenco?
    Il notepad non puoi usarlo. Già Notepad++ o UltraEdit possono gestire quei caratteri.
    Salvare in ANSI ti creerà solamente problemi e incompatibilità, se non usi iconv o mbstring.
    La codifica giusta è UTF-8 (poi ci sono versioni più elaborate come UTF-16, ma non sono indispensabili). E' quella più compatibile e versatile.
    Poi:
    - doctype: basta che specifico la lingua (italiano: it; inglese:en; cinese:cn o zh?);
    Non specifichi la lingua. Specifichi la codifica. E' ben diverso.

    Oltretutto ci sono le dichiarazioni del namespace xml/xhtml (scritte da rel_style).
    - head: è solo se uso PHP? o posso fare tutto in html, creando un link alla nuova pagina (in cinese).. giusto?
    Tu perché ha scritto sul forum PHP? Non vuoi fare un sito dinamico in PHP?
    Se no dovresti farti spostare il thread nella sezione HTML.

    Comunque se usi PHP è meglio specificare le intestazioni tramite 'header()'.
    Puoi fare anche tutto in HTML: in quel caso, oltre a doctype e namespace, devi assicurarti solo che la codifica del file .html stesso abbia la codifica corretta e compatibile con le dichiarazioni sopracitate specificate all'interno di essa.

    Con PHP c'è un passaggio in più. Devi istruire anche il WebServer.

    La codifica è una caratteristica che coinvolge OGNI strato di applicazione: editor delle pagine, browser, linguaggio HTML di markup, webserver, linguaggio di programmazione, database.

    In ogni passaggio devi stare attento a mantenere una codifica.

    E' come "passarsi un'informazione" tra persone sparse per il mondo. Devi assicurarti che tutti scrivano l'informazione nella stessa lingua, altrimenti alla successiva persona a cui arriva il messaggio potrebbe venir recapitata un'infrmazione incomprensibile.
    - meta: non ho capito.
    Studiati il tag HTML <meta>.
    Poi:
    - ho letto che la visualizzazione da parte dell'utente (specifico: per i caratteri cinesi) dipende dal browser utilizzato e da eventuali plug-in installati. per favorire l'utente volevo mettere un link (anche in avviso al caricamento della pagina, pensavo ad "alert") che riporti ad un download dei componenti necessari per una corretta visualizzazione. siti di riferimento?
    Il browser può essere 'istruito' sulla codifica da usare (tramite tutte le dichiarazioni a livello di HTML, webserver/php) oppure ne ha una di default selezionata manualmente.

    Se mantieni coerenza di codifica tra tutti gli strati il browser si adatterà automaticamente su quella codifica (se è impostata, come da default, "Selezione automatica")

    troppa roba? :master:
    Purtroppo no..... è il minimo .....:sbonk:

  8. #8
    wow, mi hai risposto a tutto!! veramente, ma veramente disponibile. grazie davvero.

    ok per notepad++, scaricato, studierò.
    ok per il doctype, namespace, meta: specifico codifica, non lingua e studio...

    hai ragione, arei dovuto accorgermi che era il forum php..... ho fatto un search.. in realtà quasi non so cosa sia php...
    ma quella sarà la fase due del mio approccio al web: per ora html e css.

    ultima cosa, poi per altre domande emigro in html:
    non devo quindi mettere nessun link se il mio utente non dovesse leggere i caratteri?


  9. #9
    Originariamente inviato da sitowebbo
    wow, mi hai risposto a tutto!! veramente, ma veramente disponibile. grazie davvero.
    E' un piacere. L'argomento è sempre ostico (io ci ho perso mesi )
    hai ragione, arei dovuto accorgermi che era il forum php..... ho fatto un search..
    Lo immaginavo...
    in realtà quasi non so cosa sia php...
    ma quella sarà la fase due del mio approccio al web: per ora html e css.
    PHP permette di rendere dinamica la generazione delle pagine web.
    E' un vero e proprio linguaggio di programmazione, ma orientato al Web.

    Invece di scriverti pagine statiche html, che una volta salvate restano tali, con PHP puoi gestire dinamicamente i contenuti.
    Un pò come questo forum stesso che richiama la stessa pagina ma mostra sezioni del forum diverse..

    ma beh, lo vedrai in futuro
    ultima cosa, poi per altre domande emigro in html:
    non devo quindi mettere nessun link se il mio utente non dovesse leggere i caratteri?

    In linea di massima no.
    Non vorrei dire castronerie ma se hai specificato tutto correttamente il browser si adatta da solo (puoi eventualmente specificare di impostare la codifica automatica dal menù Visualizza di Firefox).
    Non serve alcun link.
    Eventuali font con caratteri stranieri dovrebbero venir gestiti automaticamente dal sistema operativo.

    Ciao!

  10. #10
    grande

    seeUin4um!


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.