Sito web UTF-8 multilingue con arabo
Domanda
Codificherò un sito web che avrà Arabo come lingua supportata.Con l'unicode UTF8 credo di poter coprire l'alfabeto arabo.Ho anche letto che si legge da destra a sinistra, quindi immagino che dovrei allinearlo a destra quando visualizzo in arabo.
Lo chiedo alla comunità esperienza e possibili insidie.
- utf-8 unicode
- selettore css per modificare l'allineamento del testo
Grazie in anticipo per il tuo contributo.
Soluzione
Lettura http://www.w3.org/International/tutorials/bidi-xhtml/ E http://en.wikipedia.org/wiki/Internationalization_and_localization potrebbe essere utile.
Alcune cose che mi vengono in mente:
- la scelta dei colori e delle immagini potrebbe rivelarsi offensiva o di cattivo gusto in alcuni paesi
- ogni immagine con testo dovrebbe essere tradotta (immagine e alt);ogni immagine con direzionalità dovrebbe essere invertita (es:una freccia)
- cerca di evitare di nominare le classi come
class="left"
se non vuoi futuri mal di testa.Penso che sopra, sotto, prima o dopo vadano bene, ma non sinistra/destra. - dovrai controllare ogni istruzione CSS su allineamento del testo, posizione dello sfondo, mobile, cancella e ovviamente sinistra e destra con la posizione:assoluto/relativo;
- caratteri diversi richiedono dimensioni di carattere diverse (sebbene questo problema riguardi principalmente i caratteri asiatici)
- come per qualsiasi altra lingua supportata, molte parti di testo nei modelli dovrebbero essere tradotte.
Con "selettore CSS per cambiare l'allineamento del testo", intendi dir="rtl"
?Questo è un attributo HTML.Ma avrai comunque bisogno di una classe (andrà bene per l'elemento body) che agisca come un interruttore gigante per le tue esigenze di progettazione.Come
.en .yourclass { background: url(images/en/bg.jpg) }
.ar .yourclass { background: url(images/ar/bg.jpg) }
modificare:un selettore di attributi farebbe lo stesso ma poi ci sono quei cattivi vecchi IE ...
:lang(ar) .yourclass { background: url(images/ar/bg.jpg) }
or
[lang|="ar"] .yourclass { background: url(images/ar/bg.jpg) }
Altri suggerimenti
Ho anche letto che si legge da destra a sinistra, quindi immagino che dovrei allinearlo a destra quando visualizzo in arabo.
Non basta, occorre impostare anche la direzione rtl
(da destra a sinistra).Ciò di cui hai bisogno è:
direction: rtl;
text-align: right;
Questo è una buona risorsa per dichiarare la lingua in HTML.